:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#10233f;background:#f4f7fb}*{box-sizing:border-box}body{margin:0;background:linear-gradient(180deg,#f6f9ff,#eef4fb);min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{max-width:1100px;margin:0 auto;padding:28px 20px 60px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.brand{font-size:24px;font-weight:800;color:#2456d8}.card{background:#fff;border:1px solid #dfe7f2;border-radius:18px;padding:22px;box-shadow:0 10px 30px rgba(30,60,100,.06)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:18px;gap:18px}.subject{transition:.18s ease}.subject:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(30,60,100,.1)}.muted{color:#6d7b90}.btn{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;background:#2456d8;color:#fff;font-weight:700}.btn.secondary{background:#e9efff;color:#2456d8}.btn.danger{background:#b42318}.input,select,textarea{width:100%;border:1px solid #cfd9e8;border-radius:12px;padding:12px 13px;background:#fff}textarea{min-height:220px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}label{display:block;font-weight:700;margin-bottom:7px}.formrow{margin-bottom:16px}.login{width:min(430px,calc(100% - 32px));margin:10vh auto}.login h1{margin-top:0}.notice{padding:12px 14px;border-radius:12px;background:#eef4ff;color:#214ea5;margin:12px 0}.error{background:#fff0f0;color:#9e1c1c}.pill{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf2fb;font-size:13px;font-weight:700}.list{flex-direction:column;gap:10px}.item,.list{display:flex}.item{justify-content:space-between;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid #edf1f6}.item:last-child{border-bottom:0}.lesson h2,.lesson h3{margin-top:28px}.lesson li,.lesson p{line-height:1.7}.question{margin:18px 0 26px;padding:18px;border:1px solid #dfe7f2;border-radius:14px}.option{display:block;padding:9px 0;font-weight:500}.score{font-size:34px;font-weight:800;color:#2456d8}.small{font-size:14px}hr{border:0;border-top:1px solid #e6ecf3;margin:24px 0}@media (max-width:650px){.topbar{align-items:flex-start;flex-direction:column}.wrap{padding-top:20px}.card{padding:18px}}.lesson-page{max-width:980px}.lesson-hero{display:flex;gap:16px;align-items:flex-start;margin:0 0 22px;padding:18px 20px;border-radius:18px;background:linear-gradient(135deg,#eef4ff,#f7fbff);border:1px solid #cfdbff}.lesson-hero-icon{font-size:34px;line-height:1}.lesson-hero p{margin:.35rem 0 0;line-height:1.6}.lesson-stack{display:flex;flex-direction:column;gap:20px}.lesson-card{position:relative;display:grid;grid-template-columns:54px 1fr;grid-gap:18px;gap:18px;background:#fff;border:1px solid #dfe7f2;border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(30,60,100,.06)}.lesson-number{width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:#2456d8;color:white;font-weight:900;font-size:18px;position:-webkit-sticky;position:sticky;top:16px;align-self:start}.lesson-content h2{margin:0 0 10px;font-size:25px}.lesson-content h3{margin:0 0 10px;font-size:17px}.lesson-lead{margin:0 0 18px;font-size:17px;line-height:1.72}.lesson-visual{margin:18px 0;padding:16px;border-radius:18px;background:#f8fbff;border:1px solid #dce7f6}.visual-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:800;margin-bottom:8px}.visual-heading code{background:#fff;border:1px solid #d7e2f2;border-radius:10px;padding:6px 10px;font-size:15px}.lesson-visual svg{display:block;width:min(100%,360px);height:auto;margin:8px auto 0;background:white;border-radius:16px}.graph-grid{stroke:#e7edf6;stroke-width:1}.graph-axis{stroke:#75859b;stroke-width:2}.graph-line{fill:none;stroke:#2456d8;stroke-width:5;stroke-linecap:round}.graph-accent{fill:#2456d8}.check-box,.example-box,.remember-box,.steps-box,.tip-box,.warning-box{margin:16px 0;border-radius:16px;padding:16px 18px}.steps-box{background:#f5f8ff;border:1px solid #d8e2ff}.steps-box ol{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.steps-box li{display:flex;gap:10px;align-items:flex-start;line-height:1.55}.step-badge{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#2456d8;color:#fff;font-size:13px;font-weight:800}.example-box{background:#fff8e8;border:1px solid #f1d99a}.formula-chip{display:inline-block;margin:2px 0 12px;padding:8px 12px;border-radius:10px;background:#fff;border:1px solid #ead08f;font-size:17px;font-weight:800}.example-lines,.formula-chip{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.example-lines{display:flex;flex-direction:column;gap:7px;line-height:1.5}.answer-chip{display:inline-block;margin-top:12px;padding:8px 11px;border-radius:10px;background:#e9f8ee;color:#176b38;font-weight:800}.remember-box{background:#f4f0ff;border:1px solid #ddd2ff}.remember-box ul{margin:0;padding-left:22px}.remember-box li{margin:7px 0;line-height:1.55}.tip-box{background:#eaf8ff;border:1px solid #bfe5f5;line-height:1.6}.warning-box{background:#fff0ef;border:1px solid #f3c2be;line-height:1.6}.check-box{background:#effaf2;border:1px solid #c5e7cd}.check-box summary{cursor:pointer;font-weight:800}.check-answer{margin-top:12px;padding-top:12px;border-top:1px solid #cde5d3;line-height:1.6}.complete-box{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;border-radius:18px;background:#10233f;color:#fff}.complete-box p{margin:.35rem 0 0;color:#d5dfef}@media (max-width:650px){.lesson-card{grid-template-columns:1fr;padding:18px}.lesson-number{position:static;width:40px;height:40px}.complete-box,.visual-heading{align-items:flex-start;flex-direction:column}}.quiz-progress-wrap{position:-webkit-sticky;position:sticky;top:10px;z-index:5;margin:-4px 0 22px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.96);border:1px solid #dfe7f2;box-shadow:0 8px 24px rgba(30,60,100,.08)}.quiz-progress-wrap>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:14px}.quiz-progress{height:10px;background:#e7edf6;border-radius:999px;overflow:hidden}.quiz-progress>div{height:100%;background:#2456d8;border-radius:999px;transition:width .2s}.quiz-meta{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.difficulty-makkelijk{background:#e9f8ee;color:#176b38}.difficulty-normaal{background:#fff4df;color:#8b5a00}.difficulty-toets{background:#fff0f0;color:#9e1c1c}.quiz-option{display:flex;gap:10px;align-items:flex-start;padding:11px 12px;margin:7px 0;border:1px solid #e1e8f2;border-radius:12px;cursor:pointer}.quiz-option:hover{background:#f6f9ff}.question-ok{border-color:#bfe3c8;background:#f7fff9}.question-wrong{border-color:#f1c4c0;background:#fffafa}.quiz-actions,.quiz-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:18px}.answer-feedback{margin-top:18px;padding:16px;border-radius:14px}.feedback-correct{background:#edf9f0;border:1px solid #bfe3c8}.feedback-wrong{background:#fff3f2;border:1px solid #f1c4c0}.answer-correct{background:#edf9f0!important;border-color:#74bd86!important;font-weight:700}.answer-wrong{background:#fff0ef!important;border-color:#d9837b!important}.quiz-option:has(input:disabled){cursor:default}.locked-note{margin-bottom:0;font-size:14px;opacity:.75}.quiz-actions .btn:disabled,.quiz-navigation .btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.quiz-navigation{flex-direction:column}.quiz-navigation .btn{width:100%}}.save-status{margin-top:8px;font-size:.85rem;text-align:right;color:var(--muted,#667085)}.save-saved{color:#247a42}.save-saving{color:#7a641f}.save-error{color:#a33}.resume-note{margin:14px 0;padding:12px 14px;border-radius:12px;background:#f3f7ff;border:1px solid #d8e4ff;font-size:.92rem}.admin-progress-card{margin-bottom:24px}.admin-section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.student-progress{margin-top:20px;padding-top:18px;border-top:1px solid #e6e9ef}.student-progress:first-of-type{border-top:0}.student-progress-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.student-progress-header h3{margin:0}.progress-table-wrap{overflow-x:auto}.progress-table{width:100%;border-collapse:collapse;min-width:850px}.progress-table td,.progress-table th{text-align:left;padding:12px 10px;border-bottom:1px solid #e6e9ef;vertical-align:middle}.progress-table th{font-size:.82rem;color:#667085}.admin-mini-progress{height:8px;min-width:130px;background:#e8edf5;border-radius:999px;overflow:hidden;margin-bottom:5px}.admin-mini-progress>div{height:100%;background:#5b7cfa;border-radius:999px}.small-btn{padding:8px 10px;font-size:.82rem;white-space:nowrap}@media(max-width:720px){.student-progress-header{align-items:flex-start;flex-direction:column}.admin-section-title{flex-direction:column}}.course-check{margin:18px 0 4px;padding:18px;border:1px solid #cfdcf1;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#f2f7ff)}.course-check-title{font-size:17px;font-weight:900;color:#2456d8;margin-bottom:8px}.course-check-question{font-size:17px;font-weight:750;line-height:1.55;margin:0 0 14px}.course-check-options{display:flex;flex-direction:column;gap:9px}.course-check-option{display:grid;grid-template-columns:auto 32px 1fr;grid-gap:10px;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dce5f2;border-radius:13px;background:#fff;cursor:pointer;line-height:1.45}.course-check-option:hover{border-color:#9db4df;background:#fbfdff}.course-check-option input{margin:0}.course-check-letter{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#edf3ff;color:#2456d8;font-weight:900}.course-check-option.selected{border-color:#6f94e8;box-shadow:0 0 0 2px rgba(36,86,216,.08)}.course-check-option.correct{border-color:#72bf8b;background:#effbf3}.course-check-option.correct .course-check-letter{background:#dff5e6;color:#176b38}.course-check-option.wrong{border-color:#e79891;background:#fff2f1}.course-check-option.wrong .course-check-letter{background:#ffe1de;color:#a52a1f}.course-check-option.locked{cursor:default}.course-check-button{margin-top:14px}.course-check-button:disabled{opacity:.45;cursor:not-allowed}.course-check-feedback{margin-top:15px;padding:14px;border-radius:13px;background:#fff;line-height:1.55}.course-check-feedback p{margin:7px 0}.course-check-ok{border-color:#9bd0aa;background:#f4fcf6}.course-check-wrong{border-color:#edb5af;background:#fff7f6}.course-check-lock{font-size:13px;color:#6d7b90;margin-top:8px;font-weight:700}