/* V1 visual identity, with a small, independent V2 stylesheet. */
:root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:#1f2937;font-size:16px;line-height:1.6;background:#a4edf8;--purple:#6f42c1;--blue:#215bd0;--muted:#526071}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#a4edf8 url('../../assets/achtergrond-wiskundetrainer.webp') center/cover fixed no-repeat}button,select,input{font:inherit}button,select,summary{cursor:pointer}button{min-height:46px;padding:11px 18px;border:1px solid #cbd2dc;background:white;color:#374151;border-radius:8px;font-size:14px;font-weight:600;line-height:1.4}button:hover{filter:brightness(.96)}button:disabled{opacity:.58;cursor:default;filter:none;box-shadow:none}select{min-height:46px;max-width:100%;padding:10px 32px 10px 12px;border:1px solid #d1d5db;border-radius:7px;color:#273443;background:white;font-size:14px}a{color:#4c38a7}h1,h2,p{margin-top:0}h1{font-size:26px;line-height:1.35;overflow-wrap:anywhere}h2{font-size:20px;line-height:1.5}p:last-child{margin-bottom:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #874600;outline-offset:4px}button,a,input,select,summary{touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;left:10px;top:-100px;z-index:2000;background:white;padding:12px}.skip-link:focus{top:10px}
.app-header{display:flex;align-items:center;gap:28px;min-height:81px;padding:14px 26px;background:white;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0002;position:sticky;top:0;z-index:10}.header-title{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:24px;font-weight:750;line-height:1.3}.header-title>a{color:#101010;text-decoration:none}.header-title img{flex-shrink:0}.badge{font-size:14px;background:#b74900;color:white;border-radius:6px;padding:7px 12px;letter-spacing:.03em}#navigation{display:flex;align-items:center;justify-content:space-around;gap:20px;flex:1;min-width:0}#navigation button{position:relative;background:transparent;border:0;border-radius:0;padding:10px 3px;white-space:nowrap;color:#4b5563;font-size:14px;min-height:48px}#navigation button[aria-selected=true]{color:#5145c1}#navigation button[aria-selected=true]::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:3px;border-radius:50%;background:#635bdf}.session-button{background:#5850d5;color:white;font-size:11px;text-transform:uppercase;white-space:nowrap;border:0;padding:10px}#mobile-nav{display:none}
main{max-width:1240px;width:100%;margin:auto;padding:40px 20px}main:focus{outline:none}.practice-toolbar{display:flex;align-items:center;gap:20px;padding:16px 24px;margin-bottom:32px;background:white;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 6px #00000008}.control-group{display:flex;align-items:center;gap:10px}.control-group label{font-size:14px;color:var(--muted)}.control-actions{display:flex;gap:12px;margin-left:auto;flex-wrap:wrap}.primary{background:var(--purple);color:white;border-color:var(--purple);box-shadow:0 4px 10px #6f42c133}.hint-button{background:linear-gradient(135deg,#ffbb12,#f3a300);border-color:#eaa000;color:#392a00;box-shadow:0 3px 8px #f3a3002b}.check-button{background:var(--blue);border-color:var(--blue);color:white;box-shadow:0 3px 8px #215bd026}.card{padding:28px 36px;border-radius:16px;background:white;box-shadow:0 3px 12px #0000000a;min-height:300px}.question-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.question-top p{margin:0;font-size:13px}.control-badge{color:#50428e;background:#f1ecfa;padding:4px 9px;border-radius:5px;font-size:12px;white-space:nowrap}#prompt{font-size:18px;line-height:1.65;background:#f8fafc;border:1px solid #e5e7eb;border-left:4px solid #5685dd;border-radius:7px;padding:16px 20px;font-weight:600;margin:0 0 22px}#prompt:focus{outline:none}fieldset{border:0;margin:0 0 18px;padding:0;min-width:0}legend,.field-label{display:block;font-weight:600;margin-bottom:10px}.answer-option{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid #cbd5df;border-radius:7px;margin:8px 0;cursor:pointer;min-height:48px}.answer-option:has(input:checked){border-color:#6f42c1;background:#f7f3ff}.answer-option input{width:18px;height:18px;margin:3px 0 0;accent-color:#6f42c1;flex-shrink:0}input[type=text]{width:100%;max-width:500px;min-height:50px;border:1px solid #aebac9;border-radius:7px;padding:12px;font-size:17px}.number-help{display:block;margin-top:5px;font-size:13px;color:var(--muted)}.feedback{padding:14px 18px;border-left:4px solid #b15d00;background:#fff6e8;border-radius:6px;margin:20px 0 0}.feedback.correct{border-color:#248343;background:#eff9f1}.feedback p{margin:0}.feedback ul{margin:8px 0 0;padding-left:20px;font-size:14px}.question-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #e5e7eb;margin-top:24px;padding-top:8px;font-size:13px}.question-bottom details{flex:1}.question-bottom summary{color:#5145a7;font-weight:600;min-height:44px;padding:10px 0;width:fit-content}.question-bottom details p{max-width:650px;margin:0 0 8px}.question-bottom>p{margin:12px 0 0;max-width:45%;text-align:right}.muted{color:var(--muted)}.selection-note{background:#fffffff2;border-radius:8px;padding:12px 16px;margin-top:-18px;font-size:14px}.notice{background:#fff4e4;border:1px solid #bb802f;padding:22px;border-radius:9px;margin-bottom:24px}.notice p{margin-bottom:12px}.notice h2{margin-bottom:8px}
.prose{padding:32px 40px}.prose>p{max-width:800px}.eyebrow{font-size:13px;color:var(--muted)}.learning-path{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.learning-path li{padding:18px;background:#f8f6fd;border-top:3px solid #6f42c1;border-radius:6px}.learning-path strong,.learning-path span{display:block}.learning-path span{font-size:14px;margin-top:8px}.prose button+p{margin-top:20px}.prose details{margin:16px 0;border:1px solid #d4dbe5;border-radius:8px;padding:12px 18px}.prose summary{min-height:36px;font-weight:600;padding:5px 0}.prose details p{margin:12px 0}.example{border-left:3px solid #5685dd;background:#f8fafc;padding:14px 18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.stat{padding:20px;border-radius:9px;background:#f7f5fc}.stat strong{display:block;font-size:30px;color:#594199}.stat span{font-size:14px}.progress-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #e5e7eb}.progress-row span{color:var(--muted);font-size:14px;text-align:right}#advice{margin-top:20px}.button-row{display:flex;gap:12px;flex-wrap:wrap}footer{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-radius:8px;background:#fffffff2;color:#4e6073;font-size:12px;margin-top:20px}dialog{margin:auto;width:600px;max-width:calc(100vw - 24px);max-height:85vh;overflow:auto;border:1px solid #e5e7eb;border-radius:16px;padding:32px 40px;color:#1f2937;box-shadow:0 25px 50px #0004}dialog::backdrop{background:#0008;backdrop-filter:blur(6px)}dialog h2{text-align:center;font-size:24px;margin:12px 0 20px}.hint-icon{display:flex;align-items:center;justify-content:center;margin:auto;width:56px;height:56px;border-radius:50%;background:#e3f2fd;color:#1976d2;font-size:28px}#hint-content{background:#f8fafc;border-left:5px solid #1976d2;border-radius:10px;padding:20px 24px;white-space:pre-wrap}#close-hint{display:block;margin:24px auto 0}#hint-error{color:#a03514}
@media(max-width:1150px){.app-header{gap:18px;padding:14px 20px}.header-title{font-size:21px;gap:8px}#navigation{gap:12px}.practice-toolbar{flex-wrap:wrap;gap:16px}.control-actions{gap:10px}#navigation button{font-size:13px}}
@media(max-width:800px){.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:12px 14px;gap:10px}.header-title{grid-column:1/-1;font-size:20px;gap:9px}.header-title img{width:32px}.badge{font-size:12px;padding:5px 8px}#mobile-nav{display:flex;align-items:center;justify-content:space-between;grid-column:1;grid-row:2}#navigation{display:none;grid-column:1/-1;grid-row:3;flex-direction:column;align-items:stretch;gap:0;border:1px solid #e5e7eb;border-radius:7px;padding:3px}#navigation[data-open=true]{display:flex}#navigation button{text-align:left;padding:10px 12px}#navigation button[aria-selected=true]{background:#f0edff}#navigation button[aria-selected=true]::after{display:none}.session-button{grid-column:2;grid-row:2;font-size:10px;max-width:110px;white-space:normal}main{padding:20px 12px 28px}.practice-toolbar{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;margin-bottom:20px}.control-group{justify-content:space-between}.control-group select{flex:1;max-width:65%}.control-actions{margin:0;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:8px}.control-actions button{padding:11px 8px;font-size:13px}#check{grid-column:1/-1}.card,.prose{padding:20px;min-height:260px}#prompt{font-size:16px;padding:12px}.question-bottom{display:block}.question-bottom>p{max-width:none;text-align:left;margin:4px 0}.question-top{align-items:flex-start}.question-top p{font-size:12px}.learning-path{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-path li{padding:12px}.stats{gap:8px}.stat{padding:12px}.stat strong{font-size:26px}.stat span{font-size:12px}.progress-row{align-items:flex-start}footer{flex-wrap:wrap;font-size:11px}dialog{padding:24px}#hint-content{padding:16px}.selection-note{margin-top:0}.notice{padding:18px}}
@media(max-width:430px){h1{font-size:22px;hyphens:auto}.learning-path{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Korte, genummerde deelopdrachten blijven op afzonderlijke regels staan. */
#prompt,.lesson-prompt { white-space: pre-line; }
/* Long equations remain readable in a narrow card without widening the page. */
mjx-container[jax="SVG"] { display:inline-block; vertical-align:middle; max-width:100%; overflow-x:auto; overflow-y:hidden; padding-block:.12em; }
.answer-option > span { min-width:0; }

.solution-review { margin-top: 1rem; }
.solution-review > summary { cursor: pointer; font-weight: 600; padding: .5rem 0; }

/* Structured notation is shared by every curriculum and every assessment surface. */
math-field { display:block; width:100%; min-width:0; max-width:100%; min-height:52px; padding:8px 10px; border:1px solid #9299ad; border-radius:8px; background:white; font-size:1.2rem; --selection-background-color:#e9d8fd; --caret-color:#6b21a8; }
math-field:focus-within { outline:3px solid #8b5cf6; outline-offset:2px; }
math-field[disabled] { background:#f3f4f6; color:#374151; opacity:1; }
math-field::part(menu-toggle), math-field::part(virtual-keyboard-toggle) { display:none; }
.math-answer-field { min-width:0; }
.math-keyboard-toggle { justify-self:start; width:fit-content; min-height:44px; font-size:.9rem; margin:6px 0; }
body { --keyboard-zindex:1500; }

html { scroll-padding-bottom:var(--math-keyboard-height,0px); }
body { padding-bottom:var(--math-keyboard-height,0px); --keyboard-background:#eceaf8; --keyboard-toolbar-text:#312e81; --keycap-background:#fff; --keycap-text:#202537; --keycap-border:#d5d2e8; --keycap-background-hover:#f4f0ff; --keycap-background-active:#6b36b8; --keycap-secondary-background:#ddd8f0; --keycap-secondary-text:#27203f; }

.graph-print-values{display:none}
