@import url("https://fonts.googleapis.com/css2?family=Fraunces:wght@600;800;900&family=JetBrains+Mono:wght@400;500;700&family=Outfit:wght@400;500;600;700&display=swap");:root{--bg:#f0f4f8;--bg-2:#ffffff;--panel:#ffffff;--panel-2:#f5f8fc;--ink:#1a2030;--ink-dim:#5a6478;--accent:#ffd226;--accent-2:#ff8533;--ok:#4ade80;--err:#ff5c6c;--info:#6ab7ff;--border:#c8d4e0;--font-display:"Fraunces",Georgia,serif;--font-body:"Outfit",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,monospace;--kk-bg:var(--bg);--kk-bg-2:var(--bg-2);--kk-panel:var(--panel);--kk-panel-2:var(--panel-2);--kk-ink:var(--ink);--kk-ink-dim:var(--ink-dim);--kk-accent:var(--accent);--kk-accent-2:var(--accent-2);--kk-ok:var(--ok);--kk-err:var(--err);--kk-info:var(--info);--kk-border:var(--border);--kk-font-display:var(--font-display);--kk-font-body:var(--font-body);--kk-font-mono:var(--font-mono);--kk-dur-fast:80ms;--kk-dur-normal:200ms;--kk-dur-slow:400ms;--kk-ease-spring:cubic-bezier(.34,1.56,.64,1);--kk-ease-out:cubic-bezier(.22,1,.36,1);--kk-glow-accent:0 0 18px rgba(255,210,38,.30);--kk-glow-ok:0 0 18px rgba(74,222,128,.30);--kk-glow-purple:0 0 20px rgba(192,132,252,.35);--kk-radius-sm:4px;--kk-radius-md:10px;--kk-radius-lg:14px;--kk-radius-xl:20px;--kk-radius-full:999px;color-scheme:light}[data-theme=dark]{--bg:#0e1116;--bg-2:#161b22;--panel:#1c232d;--panel-2:#232b36;--ink:#e8edf2;--ink-dim:#8b96a3;--border:#2a3340;--shadow-ink:rgba(232,237,242,.55);color-scheme:dark}:root{--shadow-ink:var(--ink)}.kk-card,.tk-card{box-shadow:0 2px 8px rgba(26,32,48,.07),0 1px 2px rgba(26,32,48,.04)}.kk-sidebar{box-shadow:2px 0 16px rgba(26,32,48,.09)}.kk-mobile-topbar{box-shadow:0 2px 8px rgba(26,32,48,.07)}[data-theme=dark] .kk-card,[data-theme=dark] .kk-mobile-topbar,[data-theme=dark] .kk-sidebar,[data-theme=dark] .tk-card{box-shadow:none}.kk-theme-transitioning,.kk-theme-transitioning *,.kk-theme-transitioning :after,.kk-theme-transitioning :before{transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,color .15s ease!important}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:15px;line-height:1.5;min-height:100vh}button,input{font-family:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:800;margin:0 0 8px;letter-spacing:-.01em}h1{font-size:34px;line-height:1.1}h2{font-size:26px;line-height:1.15}h3{font-size:20px}.tk-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}.tk-btn{padding:12px 22px;border-radius:10px;border:2px solid var(--ink);background:var(--accent);color:#1a1a1a;font-weight:700;font-size:16px;transition:transform .08s,box-shadow .08s;box-shadow:4px 4px 0 var(--shadow-ink);cursor:pointer}.tk-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow-ink)}.tk-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow-ink)}.tk-btn:disabled{opacity:.5;cursor:not-allowed}.tk-btn--ghost{background:transparent;color:var(--ink);box-shadow:4px 4px 0 var(--shadow-ink);border-color:var(--border)}@keyframes tk-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.tk-shake{animation:tk-shake .2s}@keyframes tk-slide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.tk-slide{animation:tk-slide .35s ease-out}@keyframes tk-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.tk-pop{animation:tk-pop .3s cubic-bezier(.34,1.56,.64,1)}.kk-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:20px}.kk-card--accent{border-color:var(--accent)!important;border-width:2px!important}.kk-card--highlighted{border-color:var(--accent);border-width:2px;background:var(--panel-2)}.kk-btn{padding:12px 22px;border-radius:10px;border:2px solid var(--ink);background:var(--accent);color:#1a1a1a;font-weight:700;font-size:16px;transition:transform .08s,box-shadow .08s;box-shadow:4px 4px 0 var(--shadow-ink);cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--font-body)}.kk-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--shadow-ink)}.kk-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow-ink)}.kk-btn:disabled{opacity:.5;cursor:not-allowed}.kk-btn--ghost{background:transparent;color:var(--ink);box-shadow:4px 4px 0 var(--shadow-ink);border-color:var(--border)}.kk-btn--ghost:hover:not(:disabled){box-shadow:6px 6px 0 var(--shadow-ink)}.kk-btn--danger{background:var(--err);border-color:var(--err)}.kk-btn--sm{padding:6px 14px;font-size:14px}.kk-btn--lg{padding:16px 28px;font-size:18px;box-shadow:5px 5px 0 var(--shadow-ink)}.kk-btn--full{width:100%;justify-content:center}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.kk-btn:focus-visible,.tk-btn:focus-visible{outline:2px solid var(--shadow-ink);outline-offset:3px}.kk-input{padding:12px 14px;border-radius:10px;border:2px solid var(--border);background:var(--bg-2);color:var(--ink);font-size:15px;font-family:var(--font-mono);width:100%;transition:border-color .12s ease,box-shadow .12s ease}.kk-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,210,38,.18)}.kk-input--error{border-color:var(--err);box-shadow:0 0 0 3px rgba(255,92,108,.12)}.kk-input--error:focus{border-color:var(--err);box-shadow:0 0 0 3px rgba(255,92,108,.2)}.kk-input--ok{border-color:var(--ok);box-shadow:0 0 0 3px rgba(74,222,128,.12)}.kk-field-fout{color:var(--err);display:flex;align-items:center;gap:4px}.kk-field-fout,.kk-field-ok{font-size:12px;margin-top:4px}.kk-field-ok{color:var(--ok)}.tk-input{padding:12px 14px;border-radius:10px;border:2px solid var(--border);background:var(--bg-2);color:var(--ink);font-size:15px;font-family:var(--font-mono);width:100%;transition:border-color .12s ease,box-shadow .12s ease}.tk-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,210,38,.18)}@keyframes kk-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.kk-shake{animation:kk-shake .2s}@keyframes kk-slide{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.kk-slide{animation:kk-slide .35s ease-out}@keyframes kk-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.kk-pop{animation:kk-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes kk-pulse{0%,to{opacity:1}50%{opacity:.6}}.kk-pulse{animation:kk-pulse 1.5s ease-in-out infinite}@keyframes kk-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.kk-spin{animation:kk-spin .8s linear infinite}@keyframes kk-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.kk-float{animation:kk-float 3s ease-in-out infinite}@keyframes kk-float-delayed{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.kk-float-delayed{animation:kk-float-delayed 3.5s ease-in-out .8s infinite}@keyframes kk-float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.kk-float-gentle{animation:kk-float-gentle 3.5s ease-in-out infinite}@keyframes kk-wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-4deg)}75%{transform:rotate(4deg)}}.kk-wiggle-hover:hover{animation:kk-wiggle .4s ease-in-out}@keyframes kk-rise{0%{transform:translateY(14px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.kk-rise{animation:kk-rise .45s cubic-bezier(.22,1,.36,1) both}@keyframes kk-celebrate{0%{transform:scale(.6) rotate(-10deg);opacity:0}55%{transform:scale(1.18) rotate(4deg);opacity:1}75%{transform:scale(.96) rotate(-1deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.kk-celebrate{animation:kk-celebrate .75s cubic-bezier(.34,1.56,.64,1) both}@keyframes kk-star-fill{0%{transform:scale(0) rotate(-20deg);opacity:0}70%{transform:scale(1.2) rotate(5deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}.kk-star-fill{animation:kk-star-fill .5s cubic-bezier(.34,1.56,.64,1) both}@keyframes kk-glow-pulse{0%,to{opacity:.85}50%{opacity:1}}.kk-glow-pulse{animation:kk-glow-pulse 2.4s ease-in-out infinite}@keyframes kk-shimmer{0%{background-position:-200%}to{background-position:200%}}.kk-hover-lift{transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1);cursor:pointer}.kk-hover-lift:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.25)}.kk-hover-lift:active{transform:translateY(0);box-shadow:none}.kk-skeleton{background:linear-gradient(90deg,var(--panel) 25%,var(--panel-2) 50%,var(--panel) 75%);background-size:200% 100%;animation:kk-shimmer 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.kk-celebrate,.kk-float,.kk-float-delayed,.kk-float-gentle,.kk-glow-pulse,.kk-pulse,.kk-rise,.kk-skeleton,.kk-star-fill{animation:none!important;transition:none!important}}.kk-page{padding:28px 32px;max-width:1200px}.kk-page--sm{max-width:640px}.kk-page--md{max-width:860px}.kk-page--lg{max-width:1100px}.kk-section{margin-bottom:28px}.kk-section+.kk-section{margin-top:0}@media (max-width:640px){.kk-page{padding:16px}}.kk-shell{display:flex;min-height:100vh}.kk-sidebar{width:244px;flex-shrink:0;background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;height:100vh;overflow-y:auto;z-index:50;transition:transform .25s ease}.kk-shell-main{flex:1 1;margin-left:244px;min-width:0}.kk-mobile-topbar{display:none;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-2);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:40}@media (max-width:768px){.kk-sidebar{transform:translateX(-100%)}.kk-sidebar.kk-sidebar--open{transform:translateX(0)}.kk-shell-main{margin-left:0}.kk-mobile-topbar{display:flex}.kk-shell-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:45}}.kk-shell-overlay{display:none}:root{--klasbord-accent:#7c6af7}.kk-timer-ring{transition:stroke-dashoffset 1s linear,stroke .4s ease}@keyframes kk-bar-pulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.25)}}@keyframes kk-naam-flits{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.kk-naam-flits{animation:kk-naam-flits .12s ease-in-out}:-webkit-full-screen{background:var(--bg)}:fullscreen{background:var(--bg)}@media (max-width:640px){.kk-topbalk-layout,.kk-topbalk-level,.kk-topbalk-streak{display:none!important}.kk-topbalk-naam{max-width:72px;overflow:hidden;text-overflow:ellipsis}}@media (max-width:480px){.kk-topbalk-xp{display:none!important}}@media (max-width:768px){.kk-hero-grid{grid-template-columns:1fr!important}.kk-hero-mascot{display:none!important}nav .kk-nav-links{display:none}}@media (max-width:640px){.kk-tools-grid{grid-template-columns:1fr!important}}.kk-card-lift{transition:transform .12s,box-shadow .12s}.kk-card-lift:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.25)}:root{--reken-accent:#ff6b6b}@keyframes kk-xp-fill{0%{width:0}to{width:var(--target-width)}}@keyframes kk-score-pop{0%{transform:scale(.5) rotate(-10deg);opacity:0}70%{transform:scale(1.1) rotate(3deg)}to{transform:scale(1) rotate(0deg);opacity:1}}.kk-score-pop{animation:kk-score-pop .5s cubic-bezier(.34,1.56,.64,1)}:root{--werkblad-accent:#4ee4e9}.kk-werkblad-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;align-items:start}@media (max-width:1024px){.kk-werkblad-grid{grid-template-columns:1fr 1.2fr;gap:16px}}@media (max-width:860px){.kk-werkblad-grid{grid-template-columns:1fr}}:root{--rapport-accent:#c084fc}.kk-rapport-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-gap:20px;gap:20px;align-items:start}.kk-rapport-grid>*{min-width:0}@media (max-width:1024px){.kk-rapport-grid{grid-template-columns:1fr 1fr;gap:16px}}@media (max-width:860px){.kk-rapport-grid{grid-template-columns:1fr}}:root{--veiligonline-accent:#22d3ee}@keyframes kk-answer-pop{0%{transform:scale(.95)}50%{transform:scale(1.04)}to{transform:scale(1)}}.kk-answer-pop{animation:kk-answer-pop .2s ease-out}@keyframes kk-correct-flash{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,0)}50%{box-shadow:0 0 0 8px rgba(74,222,128,.35)}}.kk-correct-flash{animation:kk-correct-flash .5s ease-out}@keyframes kk-wrong-flash{0%,to{box-shadow:0 0 0 0 rgba(255,92,108,0)}50%{box-shadow:0 0 0 8px rgba(255,92,108,.35)}}.kk-wrong-flash{animation:kk-wrong-flash .5s ease-out}@keyframes kk-confetti-drop{0%{transform:translateY(-20px) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(2turn);opacity:0}}@keyframes kk-mascot-blink{0%,88%,to{transform:scaleY(1)}92%{transform:scaleY(.08);transform-origin:center 122px}96%{transform:scaleY(1)}}.kk-mascot--blink #klaasje-eye-left{animation:kk-mascot-blink 4s ease-in-out .8s infinite;transform-box:fill-box;transform-origin:center}.kk-mascot--blink #klaasje-eye-right{animation:kk-mascot-blink 4s ease-in-out .88s infinite;transform-box:fill-box;transform-origin:center}@keyframes kk-mascot-wave{0%,to{transform:rotate(0deg)}15%{transform:rotate(-18deg)}35%{transform:rotate(12deg)}55%{transform:rotate(-10deg)}75%{transform:rotate(6deg)}90%{transform:rotate(-3deg)}}.kk-mascot--wave #klaasje-wing-left{animation:kk-mascot-wave 1.2s cubic-bezier(.36,.07,.19,.97);transform-box:fill-box;transform-origin:58px 124px}@keyframes kk-mascot-celebrate{0%{transform:translateY(0) rotate(0deg)}18%{transform:translateY(-22px) rotate(-4deg)}38%{transform:translateY(-32px) rotate(4deg)}55%{transform:translateY(-18px) rotate(-2deg)}72%{transform:translateY(-6px) rotate(1deg)}85%{transform:translateY(-2px) rotate(0deg)}to{transform:translateY(0) rotate(0deg)}}.kk-mascot--celebrate{animation:kk-mascot-celebrate .9s cubic-bezier(.34,1.56,.64,1)}@keyframes kk-mascot-think{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(2deg)}}.kk-mascot--think #klaasje-cap{animation:kk-mascot-think 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:100px 60px}@keyframes kk-mascot-xp{0%{transform:scale(1)}30%{transform:scale(1.12) rotate(3deg)}60%{transform:scale(.96) rotate(-2deg)}80%{transform:scale(1.04) rotate(1deg)}to{transform:scale(1) rotate(0deg)}}.kk-mascot--xp{animation:kk-mascot-xp .6s cubic-bezier(.34,1.56,.64,1)}@keyframes kk-flame-live{0%,to{transform:scale(1) rotate(-1deg)}25%{transform:scale(1.06) rotate(1deg)}50%{transform:scale(.97) rotate(-1.5deg)}75%{transform:scale(1.04) rotate(1.5deg)}}.kk-flame--live{animation:kk-flame-live 1.6s ease-in-out infinite;transform-origin:50% 90%}@keyframes kk-flame-flicker{0%,to{transform:scale(1) rotate(-2deg);opacity:1}20%{transform:scale(1.1) rotate(2deg);opacity:.82}40%{transform:scale(.92) rotate(-3deg);opacity:1}60%{transform:scale(1.08) rotate(3deg);opacity:.78}80%{transform:scale(.96) rotate(-1deg);opacity:1}}.kk-flame--flicker{animation:kk-flame-flicker .55s ease-in-out infinite;transform-origin:50% 90%}@keyframes kk-flame-glow{0%,to{filter:drop-shadow(0 0 6px rgba(255,180,40,.55))}50%{filter:drop-shadow(0 0 16px rgba(255,200,60,.95))}}.kk-flame--glow{animation:kk-flame-glow 1.8s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.kk-flame--flicker,.kk-flame--glow,.kk-flame--live{animation:none}}.kk-status{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:12px;font-family:var(--font-mono);font-weight:600}.kk-status--ok{background:rgba(74,222,128,.15);color:var(--ok);border:1px solid rgba(74,222,128,.3)}.kk-status--err{background:rgba(255,92,108,.12);color:var(--err);border:1px solid rgba(255,92,108,.25)}.kk-status--info{background:rgba(106,183,255,.12);color:var(--info);border:1px solid rgba(106,183,255,.25)}.kk-status--warn{background:rgba(255,179,71,.12);color:var(--warn,#ffb347);border:1px solid rgba(255,179,71,.25)}@media print{:root{--bg:#ffffff;--bg-2:#f5f6f7;--panel:#ffffff;--panel-2:#f0f1f2;--ink:#1a1a2e;--ink-dim:#555e6d;--border:#d0d5dd;--accent:#4ac8c8}.kk-mobile-topbar,.kk-print-hide,.kk-shell-overlay,.kk-sidebar{display:none!important}.kk-shell-main{margin-left:0!important}.kk-shell{display:block!important}body{background:#fff!important}@page{size:A4;margin:1.8cm}}