:root { --ink:#24334f; --muted:#596a83; --blue:#2356be; --blue-dark:#173f94; --pink:#ec5688; --pink-dark:#b42c5b; --surface:#fff; --soft:#f2f6ff; --line:#dbe4f3; --green:#176e40; --red:#ad2542; --shadow:0 16px 44px rgba(30,60,110,.11); }
* { box-sizing:border-box; }
[hidden], .hidden { display:none !important; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100vh; background:radial-gradient(ellipse at 8% 0%,#e5efff 0,transparent 45%),radial-gradient(ellipse at 94% 2%,#fff0c9 0,transparent 35%),#f5f8fd; color:var(--ink); font:16px/1.5 'Trebuchet MS',system-ui,-apple-system,Segoe UI,sans-serif; }
button, input,select { font:inherit; }
button { cursor:pointer; }
button:disabled { opacity:.55; cursor:not-allowed; }
button:focus-visible, input:focus-visible,select:focus-visible,.choice-card:focus-visible { outline:3px solid #ee7a24;outline-offset:3px; }
main { width:min(1080px,calc(100% - 36px)); margin:auto; }
h1,h2,h3,p { margin-top:0; }
.site-header { width:min(1200px,calc(100% - 36px));margin:0 auto;padding:22px 0;display:flex;align-items:center;gap:20px; }
.brand { border:0;background:transparent;color:var(--blue);font-size:27px;letter-spacing:-.8px;font-weight:900;padding:0; }
.brand span {font-size:30px;vertical-align:-3px;}
.header-tagline { color:var(--muted);font-size:14px; }
.header-home {margin-left:auto;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 16px;color:var(--blue);font-weight:700;}
.skip-link { position:absolute;top:-120px;left:15px;z-index:10;background:white;color:var(--blue);padding:10px;}
.skip-link:focus {top:10px;}
.home-view { padding-top:20px; }
.hero {text-align:center;max-width:810px;margin:0 auto 42px;}
.eyebrow { color:var(--blue);font-size:13px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase; }
.hero h1 {font-size:clamp(38px,5.3vw,66px);line-height:1.09;margin:16px 0 20px;font-weight:900;letter-spacing:-2.8px;}
.hero h1 em {color:var(--pink);font-style:normal;}
.hero p {font-size:18px;color:var(--muted);max-width:650px;margin:auto;}
.home-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
.choice-card {background:#fff;border:1px solid #e3eaf5;border-radius:22px;min-height:220px;padding:30px;text-align:left;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;gap:7px;transition:transform .16s,box-shadow .16s;color:var(--ink); }
.choice-card:hover {transform:translateY(-4px);box-shadow:0 20px 45px rgba(30,60,110,.17);}
.choice-card strong {font-size:23px;font-weight:900;letter-spacing:-.5px;}
.choice-card>span:not(.choice-icon):not(.choice-link) {color:var(--muted);}
.choice-icon {width:66px;height:66px;border-radius:18px;display:grid;place-items:center;font-size:31px;margin-bottom:8px;}
.choice-icon.blue {background:#e5efff;}.choice-icon.pink {background:#ffe7f0;}.choice-icon.purple {background:#f0e7fe;}.choice-icon.yellow {background:#fff3d6;}
.choice-link {font-size:14px;font-weight:900;color:var(--blue);margin-top:auto;padding-top:8px;}
.dashboard {margin:35px 0 16px;border:1px solid #dfe8f8;border-radius:19px;background:white;padding:27px;box-shadow:0 8px 22px rgba(30,60,110,.055);}
.dashboard h2 {margin-bottom:4px;font-size:22px;}
.dashboard p {color:var(--muted);margin-bottom:14px;}
.badges {display:flex;flex-wrap:wrap;gap:9px;margin:10px 0;}
.badge {display:flex;gap:8px;align-items:center;background:#ecf3ff;border:1px solid #bcd1f3;border-radius:999px;padding:8px 13px;font-weight:750;font-size:13px;}
.badge.locked {filter:grayscale(.8);opacity:.65;background:#f6f7fa;}
.badge-icon {font-size:18px;}
.text-button {border:0;background:transparent;color:var(--blue);text-decoration:underline;font-size:14px;font-weight:700;padding:9px 0;}
.home-note {font-size:13px;text-align:center;color:var(--muted);margin:28px auto;}
.site-footer {text-align:center;color:var(--muted);font-size:13px;padding:35px 15px;}
.site-footer span {padding:0 5px;}
.site-footer a {color:var(--blue);text-decoration:underline;font-weight:800;}
.section-heading {text-align:center;padding:16px 0 22px;}
.section-heading h1 {font-size:clamp(30px,4vw,46px);line-height:1.15;margin:9px 0;letter-spacing:-1.4px;}
.section-heading p {color:var(--muted);max-width:800px;margin:0 auto 12px;}
.back-link {border:0;background:transparent;font-weight:800;color:var(--blue);font-size:15px;display:block;padding:7px 0;margin-bottom:3px;}
.settings-form {max-width:850px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:25px;padding:33px;box-shadow:var(--shadow);}
.settings-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px;}
.field {display:flex;flex-direction:column;gap:7px;min-width:0;}
.field-label {font-weight:900;font-size:15px;}
.field small,.panel-help {color:var(--muted);font-size:13px;line-height:1.4;}
input[type=number],input[type=text],select {color:var(--ink);background:#fff;border:2px solid #cedaeb;border-radius:11px;min-height:47px;padding:10px 12px;width:100%;}
select {cursor:pointer;}
input[type=checkbox] {accent-color:var(--blue);width:19px;height:19px;cursor:pointer;}
.setting-panel {border:1px solid var(--line);border-radius:16px;padding:22px;margin:5px 0 20px;min-width:0;}
.setting-panel legend {font-weight:900;padding:0 8px;}
.operator-grid {display:grid;grid-template-columns:repeat(4,1fr);gap:11px;}
.choice-pill {position:relative;cursor:pointer;}
.choice-pill input,.table-chip input {position:absolute;opacity:0;width:1px;height:1px;}
.choice-pill span {min-height:81px;background:#f7f9fc;border:2px solid var(--line);border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;}
.choice-pill b {font-size:28px;line-height:1.2;}.choice-pill small {font-size:12px;color:var(--muted);}
.choice-pill input:checked+span {background:#ecf3ff;border-color:var(--blue);color:var(--blue);}
.choice-pill input:focus-visible+span,.table-chip input:focus-visible+span {outline:3px solid #ee7a24;outline-offset:2px;}
.panel-help {margin:0 0 13px;}
.table-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;}
.table-chip span {display:grid;place-items:center;background:#f6f8fc;border:2px solid var(--line);height:45px;border-radius:10px;font-weight:900;cursor:pointer;}
.table-chip input:checked+span {background:#eaf1ff;color:var(--blue);border-color:var(--blue);}
.check-list {display:flex;gap:13px 24px;align-items:flex-start;flex-wrap:wrap;margin:6px 0 24px;}
.check-list label {display:flex;align-items:center;gap:9px;font-weight:650;cursor:pointer;}
.info-panel,.tip {color:#394a61;background:#eaf3ff;border:1px solid #cddffa;border-radius:14px;padding:13px 16px;margin:3px 0 21px;}
.tip {max-width:850px;margin:20px auto;font-size:14px;}
.form-error {border:2px solid #d92f56;background:#fff0f2;color:#992341;border-radius:12px;padding:15px;margin-bottom:18px;font-weight:700;}
.actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px;}
.actions.center {justify-content:center;}
.btn {border:2px solid transparent;border-radius:12px;padding:12px 20px;font-weight:900;font-size:15px;transition:background .16s,transform .16s;white-space:normal;}
.btn:hover {transform:translateY(-1px);}
.btn.primary {background:var(--blue);color:#fff;}
.btn.primary:hover {background:var(--blue-dark);}
.btn.outline {border-color:#cddbf2;color:var(--blue);background:#fff;}
.btn.outline:hover {background:#eaf2ff;}
.btn.accent {background:#c92b65;color:#fff;}
.btn.accent:hover {background:#a91c52;}
.btn.small {padding:9px 13px;}
.game-card {max-width:760px;margin:27px auto 30px;background:white;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:30px;}
.game-top {display:flex;justify-content:space-between;align-items:flex-start;gap:15px;}
.game-top h1 {font-size:30px;line-height:1.3;margin:3px 0 12px;}
.game-stats {display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap;background:#f1f6ff;border-radius:14px;padding:12px 20px;}
.stat {font-weight:900;font-size:20px;font-variant-numeric:tabular-nums;}
.game-progress {margin:22px 0;}
.progress-label {display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:800;color:var(--muted);margin-bottom:9px;}
.progress-track {height:12px;border-radius:999px;background:#e4eaf3;overflow:hidden;}
.progress-track>div {width:0;height:100%;background:#2d73df;border-radius:999px;transition:width .3s;}
.question-area {min-height:155px;display:grid;place-items:center;}
.math-question {font-size:clamp(38px,6vw,69px);font-weight:900;letter-spacing:1px;text-align:center;}
.answer-label {text-align:center;font-size:13px;font-weight:900;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;}
.answer-value {height:65px;display:grid;place-items:center;border:3px solid #c1d5f5;border-radius:14px;background:#f7faff;max-width:380px;margin:8px auto 0;font-size:40px;font-weight:900;font-variant-numeric:tabular-nums;}
.feedback {min-height:43px;padding:9px;text-align:center;font-weight:900;font-size:16px;}
.feedback.is-correct {color:var(--green);}.feedback.is-wrong {color:var(--red);}.feedback.hint {color:#94550e;}
.keypad {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-width:370px;margin:0 auto;}
.keypad button {min-height:62px;border:2px solid #d7e2f3;background:#f8fbff;color:var(--ink);border-radius:13px;font-size:25px;font-weight:900;}
.keypad button:hover:not(:disabled) {background:#e1edff;border-color:#9abcea;}
.keypad .key-submit {background:var(--blue);border-color:var(--blue);color:white;font-size:21px;}
.keypad .key-submit:hover:not(:disabled) {background:var(--blue-dark);}
.keyboard-tip {color:var(--muted);text-align:center;font-size:12px;margin:14px 0 0;}
.split-question {padding:18px 0;}
.split-question .split-diagram {transform:scale(1.6);margin:13px auto;}
.results-card {max-width:900px;margin:25px auto 0;background:white;border:1px solid var(--line);border-radius:25px;box-shadow:var(--shadow);padding:40px;text-align:center;}
.trophy {font-size:52px;line-height:1;margin:0 0 15px;}
.results-card h1 {font-size:clamp(28px,4vw,38px);margin:9px 0;letter-spacing:-1px;}
.results-card>p {color:var(--muted);}
.result-numbers {display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:28px 0;}
.result-number {background:#f1f6ff;border-radius:14px;display:flex;flex-direction:column;padding:15px 7px;gap:5px;}
.result-number span {font-size:12px;font-weight:800;color:var(--muted);}
.result-number strong {font-size:23px;font-variant-numeric:tabular-nums;}
.result-badge {color:#214677;background:#edf4ff;border-radius:10px;padding:12px;font-weight:750;}
.mistake-section {text-align:left;margin-top:40px;border-top:1px solid var(--line);padding-top:22px;}
.mistake-section h2 {font-size:19px;}
.mistake-row {background:#fff6f6;border:1px solid #f0d7dc;border-radius:12px;padding:11px 14px;margin:9px 0;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.mistake-row>div:first-child {font-weight:900;}
.mistake-row>div:last-child {color:#9e2544;}
.print-pages {padding:10px 0 25px;}
.sheet {position:relative;display:flex;flex-direction:column;overflow:hidden;width:190mm;height:277mm;margin:0 auto 24px;padding:8mm;background:#fff;border-radius:9px;box-shadow:var(--shadow);color:#1e293b;font-family:Arial,Helvetica,sans-serif;}
.sheet-head {min-height:30mm;border-bottom:2px solid #d2def0;margin-bottom:6mm;padding-bottom:5mm;}
.sheet-title {font-size:27px;font-weight:900;color:#2257bf;}
.sheet-subtitle {font-size:13px;margin:3px 0 10px;color:#515b72;}
.sheet-meta {display:flex;justify-content:space-between;gap:15px;font-size:12px;font-weight:700;}
.sheet-foot {margin-top:auto;padding-top:4mm;font-size:10px;color:#64748b;text-align:center;}
.math-sheet-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;gap:0 6mm;align-content:start;}
.math-sheet-item {display:flex;align-items:center;gap:4px;white-space:nowrap;padding:4px 2px;height:11mm;border-bottom:1px solid #e3eaf6;font-size:16px;}
.exercise-number {min-width:19px;color:#7a8595;font-size:11px;font-weight:700;}
.exercise-formula {font-weight:700;}
.exercise-blank {border-bottom:2px dotted #7c8795;min-width:25px;flex:1;align-self:center;height:11px;}
.exercise-answer {font-weight:900;color:#126f3f;margin-left:auto;}
.split-sheet-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:22mm;gap:0 5mm;align-content:start;}
.split-sheet-item {position:relative;display:flex;align-items:center;gap:9px;border-bottom:1px solid #e6ebf3;padding-left:5px;}
.split-sheet-item .exercise-number {align-self:start;padding-top:9px;}
.split-diagram {width:112px;height:72px;display:grid;grid-template-rows:24px 18px 26px;place-items:center;color:#335a9d;}
.split-box {width:43px;height:25px;display:grid;place-items:center;background:#edf4ff;border:2px solid #93b0dd;border-radius:7px;font-size:17px;font-weight:900;color:#1f345e;}
.split-box.blank {border:2px dashed #496b9e;background:#fff;color:#7891b1;}
.split-lines {width:90px;height:17px;overflow:visible;}
.split-bottom {width:102px;display:flex;justify-content:space-between;}
.sheet.monochrome .sheet-title,.sheet.monochrome .exercise-answer,.sheet.monochrome .split-diagram {color:#111;}
.sheet.monochrome .split-box {background:white;border-color:#555;color:#111;}
.sheet.monochrome .sheet-head {border-color:#666;}
.sheet.monochrome .math-sheet-item,.sheet.monochrome .split-sheet-item {border-color:#aaa;}
@media (max-width:850px) {
  .table-grid {grid-template-columns:repeat(6,1fr);}
  .result-numbers {grid-template-columns:repeat(3,1fr);}
}
@media (max-width:650px) {
  .site-header {padding:16px 0;}.brand {font-size:23px;}.header-tagline {display:none;}
  main {width:min(100% - 24px,1080px);}
  .home-view {padding-top:0;}.hero {margin-bottom:25px;}.hero h1 {letter-spacing:-1.6px;}
  .home-grid {grid-template-columns:1fr;gap:14px;}.choice-card {min-height:175px;padding:20px;}
  .settings-form {padding:20px 17px;}.settings-row {grid-template-columns:1fr;gap:13px;}
  .operator-grid {grid-template-columns:repeat(2,1fr);}.table-grid {grid-template-columns:repeat(6,1fr);}
  .choice-pill span {min-height:72px;}
  .game-card {padding:18px 14px;margin-top:7px;}.game-top h1 {font-size:24px;}.game-stats {padding:10px;}.stat {font-size:17px;}
  .game-top .btn {padding:7px 10px;}.question-area {min-height:130px;}.result-numbers {grid-template-columns:repeat(2,1fr);}
  .results-card {padding:27px 15px;}.sheet {max-width:100%;height:auto;min-height:277mm;padding:15px;}.sheet-head {min-height:92px;}
  .sheet-title {font-size:22px;}.sheet-meta {font-size:10px;}.math-sheet-grid {grid-template-columns:repeat(2,1fr);gap:0 12px;}
  .math-sheet-item {font-size:13px;}.split-sheet-grid {grid-template-columns:1fr;grid-auto-rows:75px;}
}
@page {size:A4; margin:10mm;}
@media print {
  html, body {margin:0;padding:0;background:#fff!important;min-height:auto;width:auto;print-color-adjust:exact;-webkit-print-color-adjust:exact;}
  .screen-only,.site-header,.site-footer,#home,#setup,#game,#results,.section-heading {display:none!important;}
  main {width:auto;margin:0;padding:0;max-width:none;}
  #print {display:block!important;margin:0;padding:0;}
  .print-pages {margin:0;padding:0;display:block;}
  .sheet {width:190mm;height:277mm;min-height:0;max-width:none;margin:0;padding:5mm;border:0;border-radius:0;box-shadow:none;overflow:hidden;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid;}
  .sheet:last-child {break-after:auto;page-break-after:auto;}
  .sheet-head {min-height:29mm;margin-bottom:4mm;padding-bottom:3mm;}
  .sheet-title {font-size:22pt;}.sheet-subtitle {font-size:10pt;margin-bottom:3mm;}.sheet-meta {font-size:9pt;}
  .sheet-foot {font-size:8pt;padding-top:2mm;}
  .math-sheet-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:0 3mm;}
  .math-sheet-item {font-size:13pt;height:10.5mm;padding:0 1mm;}
  .exercise-number {font-size:8pt;min-width:4mm;}.exercise-blank {min-width:6mm;}
  .split-sheet-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:21mm;gap:0 3mm;}
  .split-sheet-item {padding-left:1mm;gap:2mm;}
  .split-diagram {transform:scale(.85);transform-origin:left center;}
}
@media (prefers-reduced-motion:reduce) {*, *:before,*:after {scroll-behavior:auto!important;animation:none!important;transition:none!important;}}
/* Rekenpret 3.0 – getalbeelden en breuken */
.featured-module {background:linear-gradient(135deg,#f2fff7,#e6f7ff);border:2px solid #d5ece2;border-radius:24px;padding:26px;min-height:260px;box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:stretch;}
.featured-module.fractions-module {background:linear-gradient(135deg,#fff7e9,#fff0f4);border-color:#f3e2d5;}
.featured-label {font-size:12px;text-transform:uppercase;letter-spacing:.9px;font-weight:900;color:#25754f;margin-bottom:15px;}
.fractions-module .featured-label {color:#ac523d;}
.featured-details {display:flex;gap:17px;align-items:flex-start;}
.featured-details h2 {margin:0 0 6px;font-size:25px;line-height:1.2;}
.featured-details p {margin:0;color:#526178;line-height:1.45;font-size:15px;}
.choice-icon.mint {background:#b4f2d0;flex:none;}.choice-icon.peach {background:#ffdfb9;flex:none;}
.module-actions {display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:19px;}
.module-actions .btn {flex:1 1 142px;text-align:center;white-space:nowrap;}
.kid-hint {margin:0;display:flex;align-items:center;}
/* Antwoordtegels */
.answer-choices {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;max-width:720px;margin:16px auto 7px;}
.answer-option {min-width:0;min-height:85px;border:3px solid #bacdf0;border-radius:20px;background:#f6faff;color:#243b6d;font-size:clamp(21px,3vw,34px);font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 5px 0 #dce8f8;}
.answer-option:hover:not(:disabled),.answer-option:focus-visible {background:#e9f4ff;border-color:#396fd1;}
.answer-option.is-right-choice,.answer-option.is-right-choice:disabled {opacity:1;background:#d6ffe5;border-color:#269861;color:#176c3d;box-shadow:0 5px 0 #b3e6c5;}
.answer-option.is-wrong-choice,.answer-option.is-wrong-choice:disabled {opacity:1;background:#ffebed;border-color:#df5674;color:#ad2542;}
/* Kleutervriendelijke patronen */
.visual-question,.fraction-question {width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;padding:10px 0;}
.visual-prompt {font-size:clamp(20px,3vw,28px);line-height:1.3;margin:0;color:#284574;}
.dots-grid {display:grid;grid-template-columns:repeat(5,35px);grid-template-rows:repeat(2,35px);gap:12px;justify-content:center;align-content:center;min-height:84px;padding:14px;background:#f7faff;border:2px solid #d5e0f2;border-radius:19px;}
.dots-grid .dot {display:block;width:35px;height:35px;border-radius:50%;background:transparent;}
.dots-grid .dot.active {background:#ee5b75;box-shadow:inset -4px -4px 0 rgba(0,0,0,.07);}
.dice-dots {grid-template-columns:repeat(3,35px);grid-template-rows:repeat(3,35px);min-height:0;padding:20px;gap:8px;background:#fff;border:4px solid #5872a4;border-radius:25px;box-shadow:0 8px 0 #e1e9f7;}
.dice-dots .dot.active {background:#344e85;}
.objects-picture {display:grid;grid-template-columns:repeat(5,1fr);gap:6px 16px;min-height:100px;align-content:center;justify-content:center;max-width:440px;margin:auto;}
.object-emoji {font-size:clamp(35px,5vw,54px);line-height:1.2;}
.hands-picture {display:flex;gap:26px;align-items:center;justify-content:center;min-height:120px;}
.picture-hand {height:130px;width:126px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;}
.fingers {display:flex;gap:4px;align-items:end;justify-content:center;height:82px;}
.finger {display:block;background:#dfe7f3;border:2px solid #8c9fbc;border-radius:14px 14px 3px 3px;width:19px;height:49px;}
.finger:nth-child(2),.finger:nth-child(3) {height:74px;}.finger:nth-child(4) {height:63px;}.finger:nth-child(5) {height:37px;}
.finger.on {background:#f8bd80;border-color:#ad7743;}.finger.off {background:#eef1f6;border:2px dashed #aab8ca;}
.palm {width:114px;height:39px;background:#f6c996;border:2px solid #ad7743;border-radius:8px 8px 22px 22px;margin-top:-1px;}
.tenframe {display:grid;grid-template-columns:repeat(5,46px);grid-template-rows:repeat(2,46px);border:2px solid #4569a5;width:max-content;background:#fff;}
.tenframe.fiveframe {grid-template-rows:46px;}
.frame-cell {width:46px;height:46px;display:grid;place-items:center;border:1px solid #7995c0;}
.frame-dot {display:block;width:31px;height:31px;background:#ed5573;border-radius:50%;}
.frame-dot.empty {background:transparent;}
.comparison-groups {display:flex;align-items:center;justify-content:center;gap:18px;max-width:100%;}
.comparison-group {display:flex;flex-direction:column;align-items:center;gap:7px;}
.comparison-group strong {color:#284575;font-size:18px;}
.comparison-group .dots-grid {transform:scale(.85);margin:-6px -13px;}
/* Breuken als exacte wiskundige visualisatie */
.fraction-graphic {height:145px;width:155px;max-width:100%;flex:none;}
.fraction-problem {display:flex;flex-direction:column;align-items:center;gap:11px;justify-content:center;width:100%;}
.problem-prompt {font-size:clamp(18px,3vw,26px);font-weight:900;color:#30496b;}
.fraction-expression {display:flex;align-items:center;justify-content:center;gap:12px;min-height:75px;flex-wrap:nowrap;}
.fraction-number {display:inline-flex;flex-direction:column;align-items:center;justify-content:center;vertical-align:middle;font-size:29px;font-weight:900;line-height:1.05;min-width:30px;flex:none;}
.fraction-number .numerator {width:100%;padding:0 5px 5px;border-bottom:3px solid currentColor;}
.fraction-number .denominator {padding:5px 5px 0;}
.operator-symbol,.math-unknown {font-size:31px;font-weight:850;line-height:1;}
.answer-option .fraction-number {font-size:24px;}
.answer-option .fraction-number .numerator {border-bottom-width:2px;}
/* Nieuwe A4-werkbladen */
.visual-sheet-grid,.fraction-sheet-grid {display:grid;align-content:start;min-height:0;}
.visual-sheet-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:40mm;gap:1.7mm 5mm;}
.fraction-sheet-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:25mm;gap:1.5mm 6mm;}
.visual-sheet-item,.fraction-sheet-item {position:relative;min-width:0;min-height:0;border-bottom:1px solid #dce4f2;display:grid;grid-template-columns:17px minmax(0,1fr) 75px;align-items:center;gap:5px;}
.visual-sheet-item .exercise-number,.fraction-sheet-item .exercise-number {align-self:start;margin-top:10px;}
.print-problem {min-width:0;max-height:100%;overflow:hidden;}
.print-question-label {font-size:12px;font-weight:900;margin-bottom:6px;color:#334e79;}
.print-problem .dots-grid {grid-template-columns:repeat(5,13px);grid-template-rows:repeat(2,13px);gap:4px;padding:5px;border-width:1px;border-radius:7px;min-height:0;display:inline-grid;}
.print-problem .dots-grid .dot {height:13px;width:13px;}
.print-problem .dice-dots {grid-template-columns:repeat(3,12px);grid-template-rows:repeat(3,12px);gap:4px;padding:7px;border-width:2px;border-radius:8px;}
.print-problem .dice-dots .dot {width:12px;height:12px;}
.print-problem .objects-picture {grid-template-columns:repeat(5,20px);gap:2px 3px;min-height:0;margin:0;justify-content:start;}
.print-problem .object-emoji {font-size:18px;}
.print-problem .hands-picture {gap:5px;justify-content:start;min-height:0;}
.print-problem .picture-hand {height:63px;width:54px;}
.print-problem .fingers {gap:1px;height:38px;}
.print-problem .finger {width:9px;height:23px;border-width:1px;border-radius:5px 5px 1px 1px;}
.print-problem .finger:nth-child(2),.print-problem .finger:nth-child(3) {height:36px;}
.print-problem .finger:nth-child(4) {height:29px;}.print-problem .finger:nth-child(5) {height:18px;}
.print-problem .palm {width:52px;height:18px;border-width:1px;border-radius:3px 3px 10px 10px;}
.print-problem .tenframe {grid-template-columns:repeat(5,20px);grid-template-rows:repeat(2,20px);border-width:1px;}
.print-problem .tenframe.fiveframe {grid-template-rows:20px;}
.print-problem .frame-cell {width:20px;height:20px;border-width:.7px;}
.print-problem .frame-dot {width:14px;height:14px;}
.print-problem .comparison-groups {gap:4px;justify-content:start;}
.print-problem .comparison-group {gap:0;}
.print-problem .comparison-group strong {font-size:10px;}
.print-problem .comparison-group .dots-grid {transform:none;margin:0;}
.print-answer-blank {min-height:24px;border-bottom:1.5px dotted #7e8795;align-self:center;color:#626c81;font-size:10px;text-align:center;}
.print-solution {font-weight:900;color:#176c3d;text-align:center;font-size:20px;align-self:center;}
.print-solution .fraction-number {font-size:18px;}
.fraction-sheet-item {grid-template-columns:17px minmax(0,1fr) 63px;}
.print-problem .fraction-problem {gap:2px;align-items:flex-start;}
.print-problem .problem-prompt {font-size:11px;}
.print-problem .fraction-expression {min-height:39px;gap:7px;}
.print-problem .fraction-number {font-size:16px;min-width:16px;}
.print-problem .fraction-number .numerator {border-bottom-width:1.5px;padding-bottom:2px;}
.print-problem .fraction-number .denominator {padding-top:2px;}
.print-problem .operator-symbol,.print-problem .math-unknown {font-size:20px;}
.print-problem .fraction-graphic {height:70px;width:77px;}
.sheet.monochrome .dots-grid .dot.active,.sheet.monochrome .frame-dot:not(.empty) {background:#333;box-shadow:none;}
.sheet.monochrome .dice-dots .dot.active {background:#222;}
.sheet.monochrome .finger.on,.sheet.monochrome .palm {background:#aaa;border-color:#333;}
.sheet.monochrome .fraction-graphic path,.sheet.monochrome .fraction-graphic rect,.sheet.monochrome .fraction-graphic circle {stroke:#333;}
.sheet.monochrome .fraction-graphic [fill="#6a9bf5"] {fill:#666;}
.sheet.monochrome .print-solution,.sheet.monochrome .print-question-label {color:#111;}
@media(max-width:650px) {
  .featured-module {min-height:235px;padding:20px;}.featured-details h2{font-size:22px;}
  .answer-choices {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}.answer-option {min-height:73px;}
  .comparison-groups {gap:5px;}.comparison-group .dots-grid {transform:scale(.65);margin:-15px -32px;}
  .visual-sheet-grid,.fraction-sheet-grid {grid-template-columns:1fr;grid-auto-rows:135px;}
  .fraction-sheet-grid {grid-auto-rows:105px;}
  .visual-sheet-item,.fraction-sheet-item {grid-template-columns:19px minmax(0,1fr) 75px;}
}
@media print {
  .sheet-visual .sheet-head,.sheet-fraction .sheet-head {min-height:27mm;margin-bottom:3mm;}
  .sheet-visual .visual-sheet-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:40mm;gap:1.7mm 5mm;}
  .sheet-fraction .fraction-sheet-grid {grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:25mm;gap:1.5mm 5mm;}
  .sheet-visual .visual-sheet-item {grid-template-columns:14px minmax(0,1fr) 65px;}
  .sheet-fraction .fraction-sheet-item {grid-template-columns:14px minmax(0,1fr) 55px;}
  .sheet-visual .print-problem .objects-picture,.sheet-fraction .print-problem .fraction-graphic {break-inside:avoid;}
  .sheet-visual .sheet-title,.sheet-fraction .sheet-title {font-size:21pt;}
  .sheet-visual .print-answer-blank,.sheet-fraction .print-answer-blank {max-width:100%;}
}
.answer-option.comparison-answer {flex-direction:column;gap:1px;}
.comparison-icon {font-size:31px;line-height:1.2;}
.comparison-caption {font-size:15px;font-weight:800;}
