:root{--ink:#1d1f3a;--ink2:#4a4f78;--muted:#6b7096;--lijn:#e1e5f3;--acc:#4b6bfb;--acc-d:#2f47c4;--acc-l:#e9eeff;--goud:#ffd23f;--goud-d:#e09a00;--goud-l:#fff6d1;--good:#22a45d;--good-d:#167a43;--goodbg:#e4f8ec;--warn:#e37b16;--warnbg:#fff1e0;--roze:#ff5f97;--paars:#8f6bff;--munt:#1fc8b4;--kaart:#fff;--r:20px;--schaduw:0 6px 0 rgba(36,48,130,.1),0 16px 34px rgba(36,48,130,.16);--font:ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold","Nunito","Varela Round",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}:where(body:not(.ouders-portaal)){margin:0;color:var(--ink);font:19px/1.45 var(--font);touch-action:manipulation;min-height:100vh;min-height:100dvh;background:radial-gradient(1200px 520px at 80% -10%,rgba(255,255,255,.55),transparent 60%),radial-gradient(900px 600px at 10% 110%,rgba(255,214,140,.65),transparent 60%),linear-gradient(180deg,#4f9dff,#7cc4ff 38%,#b7e2ff 70%,#ffe2b5) fixed;background-color:#7cc4ff}:where(body:not(.ouders-portaal)) h1{font-size:28px;margin:6px 0 4px;line-height:1.15;font-weight:900;letter-spacing:-.01em}:where(body:not(.ouders-portaal)) h2{font-size:21px;margin:4px 0 10px;font-weight:850}:where(body:not(.ouders-portaal)) h1 small,:where(body:not(.ouders-portaal)) h2 small{font-size:14px;color:var(--muted);font-weight:600;margin-left:6px}:where(body:not(.ouders-portaal)) p{margin:8px 0}#app{position:relative;z-index:1;max-width:760px;margin:0 auto;padding:10px 14px 70px}.hidden{display:none!important}.laden{color:#fff;text-align:center;font-size:22px;font-weight:800;padding:80px 0;text-shadow:0 2px 0 rgba(0,0,0,.15)}.sub{color:var(--muted);margin:0 0 14px}.kop-wit,.sub-wit{color:#fff;text-shadow:0 2px 0 rgba(20,40,120,.25)}.sub-wit{margin:0 0 8px;font-weight:700}#lucht{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}#lucht:before{content:"";position:absolute;width:560px;height:560px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(255,250,220,.95) 0 18%,rgba(255,240,180,.35) 36%,transparent 66%)}#lucht:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-40px;height:180px;background:radial-gradient(60% 100% at 30% 100%,rgba(255,255,255,.75),transparent 70%),radial-gradient(50% 90% at 80% 100%,rgba(255,255,255,.6),transparent 70%)}.wolk{position:absolute;width:180px;height:56px;border-radius:40px;background:#fff;opacity:.85;filter:drop-shadow(0 6px 0 rgba(120,160,230,.25));animation:drijf 70s linear infinite}.wolk:before,.wolk:after{content:"";position:absolute;background:#fff;border-radius:50%}.wolk:before{width:84px;height:84px;left:26px;top:-40px}.wolk:after{width:62px;height:62px;left:92px;top:-26px}.wolk.w1{top:12%;left:-200px;animation-duration:80s}.wolk.w2{top:46%;left:-200px;transform:scale(.7);animation-duration:110s;animation-delay:-50s;opacity:.7}.wolk.w3{top:74%;left:-200px;transform:scale(1.15);animation-duration:95s;animation-delay:-20s;opacity:.6}@keyframes drijf{0%{translate:0 0}to{translate:calc(100vw + 420px) 0}}:where(body:not(.ouders-portaal)) button{font:inherit;font-weight:800;color:var(--ink);background:#fff;border:2px solid #d5dbf1;border-radius:16px;padding:12px 18px;min-height:54px;cursor:pointer;box-shadow:0 5px #c3cbe8;transition:transform .08s,box-shadow .08s,filter .15s;position:relative;touch-action:manipulation;-webkit-user-select:none;user-select:none}:where(body:not(.ouders-portaal)) button:active:not(:disabled){transform:translateY(4px);box-shadow:0 1px #c3cbe8}:where(body:not(.ouders-portaal)) button:focus-visible{outline:4px solid var(--goud);outline-offset:2px}:where(body:not(.ouders-portaal)) button:disabled{opacity:.45;cursor:default}:where(body:not(.ouders-portaal)) button small{display:block;font-size:15px;font-weight:650;opacity:.85;margin-top:2px}.primary{background:linear-gradient(180deg,#6f8bff,var(--acc))!important;border-color:var(--acc-d)!important;color:#fff!important;box-shadow:0 6px 0 var(--acc-d),0 10px 20px #2f47c44d!important;text-shadow:0 2px 0 rgba(20,30,110,.3)}.primary:active:not(:disabled){box-shadow:0 2px 0 var(--acc-d)!important}.big{width:100%;font-size:22px!important;padding:16px 18px!important;min-height:66px!important;margin:6px 0}.ghost{background:#fffc!important;box-shadow:0 4px #24308226!important;border-color:#ffffffe6!important}.terug{margin:4px 0 8px;min-height:46px!important;padding:8px 16px!important;font-size:17px}.glans{overflow:hidden}.glans:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skew(-20deg);animation:glans 3.2s ease-in-out infinite;pointer-events:none}@keyframes glans{0%,55%{left:-60%}to{left:130%}}.goudknop{background:linear-gradient(180deg,#ffe680,var(--goud))!important;border-color:var(--goud-d)!important;box-shadow:0 6px 0 var(--goud-d)!important}.kijkknop{background:#fff7e6!important;border-color:#f3c77b!important;box-shadow:0 5px #e6b45e!important}.link{background:none!important;border:none!important;box-shadow:none!important;color:var(--acc)!important;text-decoration:underline;min-height:auto!important;padding:6px!important}.card{background:var(--kaart);border-radius:var(--r);padding:16px;margin:14px 0;box-shadow:var(--schaduw);border:2px solid rgba(255,255,255,.9)}.card h2:first-child{margin-top:0}#top{position:sticky;top:0;z-index:20;padding:8px 10px 0}.topbar{max-width:760px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:22px;position:relative;background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 5px #2430821f,0 10px 24px #24308224}.tb-av{width:58px;height:58px;min-height:0!important;padding:0!important;border-radius:50%!important;flex:none;overflow:visible;background:radial-gradient(circle at 50% 35%,#fff,#dfe7ff)!important;border:3px solid #fff!important;box-shadow:0 4px #b8c4f0!important}.tb-av:disabled{opacity:1!important}.tb-av svg{width:52px;height:52px;margin-top:-4px}.tb-lvl{position:absolute;right:-6px;bottom:-4px;background:var(--goud);border:2px solid #fff;color:var(--ink);font-size:13px;font-weight:900;min-width:24px;height:24px;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 2px 0 var(--goud-d)}.tb-mid{flex:1;min-width:0}.tb-naam{font-weight:900;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-naam small{color:var(--muted);font-weight:700;font-size:13px;margin-left:4px}.xpbar{position:relative;height:20px;background:#e6e9f7;border-radius:10px;overflow:hidden;margin-top:3px;box-shadow:inset 0 2px #0000000f}.xpbar div{height:100%;background:linear-gradient(90deg,#8f6bff,#4b6bfb,#1fc8b4);border-radius:10px;transition:width .6s cubic-bezier(.2,.9,.3,1.2)}.xpbar span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:900;color:var(--ink);text-shadow:0 1px 0 #fff}.tb-tellers{display:flex;flex-direction:column;gap:3px;align-items:flex-end;font-weight:900;font-size:15px;white-space:nowrap}.tb-tellers span{background:#f1f3fd;border-radius:10px;padding:1px 8px}.tb-reeks{color:#9aa0b8}.tb-reeks.aan{color:#e2541b;background:#fff0e3!important}.tb-kristal{color:#2f47c4}.tb-menu{min-height:46px!important;width:46px;padding:0!important;font-size:22px}.menu{position:absolute;right:8px;top:calc(100% + 8px);background:#fff;border-radius:16px;padding:8px;display:grid;gap:8px;box-shadow:var(--schaduw);min-width:240px;z-index:30}.kijkbalk{background:#fff7e6;border:2px dashed #f3b45b;border-radius:16px;padding:10px 12px;margin:8px 0;font-size:16px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.kijkbalk button{min-height:42px!important;padding:6px 12px!important;font-size:15px}.held{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#fff,#f2f5ff);overflow:hidden;position:relative}.held:after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,63,.35),transparent 70%)}.held-av{width:104px;flex:none;filter:drop-shadow(0 8px 10px rgba(36,48,130,.2))}.held-av svg{width:104px;height:auto;display:block;animation:dobber 3s ease-in-out infinite}.held-tekst h1{font-size:30px;margin:0}.held-tekst p{margin:4px 0;font-size:17px;color:var(--ink2);font-weight:650}.reeks-tekst{background:#fff3e6;border-radius:12px;padding:6px 10px;font-size:15px!important}@keyframes dobber{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dagquests .dq{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:#f6f7fd;margin:8px 0}.dq.klaar{background:var(--goodbg)}.dq-icoon{font-size:26px;width:40px;text-align:center}.dq-tekst{flex:1;font-weight:750;font-size:17px}.dq-tekst small{color:var(--muted);font-size:13px;font-weight:700}.dq-prijs{font-weight:900;white-space:nowrap;color:#2f47c4;font-size:16px}.minibalk{height:10px;background:#e2e6f5;border-radius:6px;overflow:hidden;margin:4px 0 0}.minibalk div{height:100%;background:linear-gradient(90deg,var(--munt),var(--good));border-radius:6px}.dq-kist{margin-top:8px;font-size:15px;font-weight:750;color:var(--ink2);text-align:center;background:var(--goud-l);border-radius:12px;padding:8px}.dq-kist.klaar{background:var(--goodbg);color:var(--good-d)}.knoppen3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.knoppen3 button{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:28px;padding:12px 6px}.knoppen3 button span{font-size:15px}.how{font-size:16px;color:var(--ink2)}.how summary{cursor:pointer;font-size:18px;min-height:32px;list-style-position:inside}.save{font-size:14px;color:#1d1f3aa6;text-align:center;margin-top:18px;font-weight:650}.route{background:linear-gradient(180deg,#fffffff5,#f0f6fff0);padding-bottom:8px}.route-kop h2{margin-bottom:8px}.route-balk{position:relative;height:24px;background:#e3e7f7;border-radius:14px;overflow:visible;margin:8px 0;box-shadow:inset 0 3px #0000000f}.route-balk div{height:100%;border-radius:14px;background:linear-gradient(90deg,#1fc8b4,#4b6bfb 50%,#ff5f97);transition:width .8s cubic-bezier(.2,.9,.3,1.2);box-shadow:0 0 14px #4b6bfb73}.route-balk span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;color:var(--ink);text-shadow:0 1px 0 #fff}.route-balk.groot{height:30px;margin-right:22px}.route-balk.groot span:first-of-type{font-size:15px}.rb-cadeau{left:auto!important;right:-26px!important;width:46px;font-size:30px!important;animation:wiebel 2.4s ease-in-out infinite}.route-doel{font-weight:800;color:var(--acc-d);margin:6px 0}.route-eind{font-size:16px;color:var(--ink2);margin:4px 0}.bel-emoji{font-size:1.15em}@keyframes wiebel{0%,to{transform:rotate(0)}10%{transform:rotate(-12deg)}20%{transform:rotate(10deg)}30%{transform:rotate(-6deg)}40%{transform:rotate(0)}}.pad{list-style:none;margin:12px 0 0;padding:0;position:relative}.pad:before{content:"";position:absolute;left:50%;top:30px;bottom:60px;width:8px;margin-left:-4px;border-radius:4px;background:repeating-linear-gradient(180deg,#c9d3f5 0 14px,transparent 14px 24px)}.stap{display:flex;position:relative;margin:4px 0}.stap:nth-child(4n+2),.stap:nth-child(4n+3){justify-content:flex-end}.stap-knop{display:flex!important;align-items:center;gap:8px;width:76%;text-align:left;padding:8px 10px!important;background:#fff!important;border-radius:20px!important;position:relative}.stap:nth-child(4n+2) .stap-knop,.stap:nth-child(4n+3) .stap-knop{flex-direction:row-reverse;text-align:right}.stap-beeld{position:relative;flex:none;width:96px;height:80px;display:flex;align-items:center;justify-content:center}.stap-beeld svg{width:100%;height:100%}.stap-tekst{flex:1;min-width:0;display:flex;flex-direction:column}.stap-tekst b{font-size:17px;line-height:1.2}.stap-tekst small{font-size:13px!important;color:var(--muted);font-weight:700!important;margin:0!important}.stap.wereld .stap-knop{border-color:var(--k)!important;box-shadow:0 5px 0 var(--k2)!important}.stap.baas .stap-beeld{width:72px;height:72px}.stap.baas.dicht .stap-knop{background:#f2f3f8!important;box-shadow:0 5px #cfd3e2!important}.stap.baas.open .stap-knop{border-color:#ff4d6d!important;box-shadow:0 5px #c9184a,0 0 0 4px #ff4d6d2e!important;animation:roep 1.6s ease-in-out infinite}.stap.klaar .stap-knop{border-color:var(--goud)!important;box-shadow:0 5px 0 var(--goud-d),0 0 18px #ffd23f8c!important}.stap.examen,.stap.beloning{justify-content:center!important}.stap.examen .stap-knop,.stap.beloning .stap-knop{flex-direction:column!important;text-align:center!important;width:70%}.stap.examen .stap-beeld{width:84px;height:96px}.stap.examen.dicht .stap-knop{background:#f2f3f8!important}.stap.examen.open .stap-knop{border-color:var(--goud)!important;box-shadow:0 5px 0 var(--goud-d),0 0 24px #ffd23fb3!important;animation:roep 1.6s ease-in-out infinite}.stap.beloning .stap-knop{background:linear-gradient(180deg,#fff,#fff0f6)!important;border-color:var(--roze)!important;box-shadow:0 6px #cf3a6e,0 0 30px #ff5f9773!important;padding:14px!important}.stap.beloning .stap-beeld{width:110px;height:110px}.stap.beloning .stap-beeld:before{content:"";position:absolute;inset:-14px;border-radius:50%;background:conic-gradient(from 0deg,#ffd23f00,#ffd23f8c,#ff5f9700,#8f6bff80,#ffd23f00);animation:draai 8s linear infinite;z-index:-1;filter:blur(2px)}.stap.beloning .stap-tekst b{font-size:20px}.stap.beloning .stap-tekst small{font-size:18px!important;color:#b02a63!important;font-weight:900!important}.stap-slot,.stap-vlag{position:absolute;right:-4px;bottom:-2px;font-size:26px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.2))}.hier-pin{position:absolute;left:50%;top:-34px;width:44px;margin-left:-22px;animation:hup 1.1s ease-in-out infinite;z-index:2}.hier-pin svg{width:44px;height:auto;filter:drop-shadow(0 4px 2px rgba(0,0,0,.25))}.stap.hier{margin-top:34px}@keyframes hup{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes roep{0%,to{transform:scale(1)}50%{transform:scale(1.025)}}@keyframes draai{to{transform:rotate(360deg)}}.ei-balk{display:block;height:10px;background:#e7e9f4;border-radius:6px;overflow:hidden;margin:5px 0 3px}.ei-balk span{display:block;height:100%;background:linear-gradient(90deg,var(--k),var(--k2));border-radius:6px}.eiland-svg{overflow:visible;animation:zweven 5s ease-in-out infinite}.eiland-svg .steen{animation:dobber 3.4s ease-in-out infinite}.eiland-svg .s2{animation-delay:-1.4s}@keyframes zweven{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.baas-svg{overflow:visible}.baas-svg.dreig{animation:dreig 2.2s ease-in-out infinite;transform-origin:50% 90%}.baas-svg.slaapt{filter:grayscale(.85) brightness(1.05);opacity:.6}.baas-svg.verslagen{filter:grayscale(.4);transform:rotate(-8deg)}@keyframes dreig{0%,to{transform:scale(1)}50%{transform:scale(1.04,.96)}}.trofee-svg.dof{filter:grayscale(1) brightness(1.15);opacity:.55}.cadeau-svg{animation:wiebel 3s ease-in-out infinite}.eiland-kop{display:flex;align-items:center;gap:12px;color:#fff;border-radius:var(--r);padding:14px;margin:6px 0 12px;background:linear-gradient(135deg,var(--k),var(--k2));box-shadow:0 6px #00000026,0 16px 30px #24308233}.eiland-kop>div:last-child{flex:1;min-width:0}.eiland-kop h1{color:#fff;margin:0;text-shadow:0 2px 0 rgba(0,0,0,.18)}.eiland-kop p{margin:4px 0;font-size:16px;font-weight:650}.eiland-kop .route-balk{background:#ffffff59}.eiland-kop .route-balk div{background:linear-gradient(90deg,#fff6c8,var(--goud))}.ek-beeld{width:120px;flex:none}.ek-beeld svg{width:100%}.quests{display:grid;gap:10px}.quest{display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:10px 12px;box-shadow:0 5px #2430821a}.quest.verdiend{background:linear-gradient(90deg,#fffbea,#fff)}.quest.dicht{opacity:.7;background:#f3f4f9}.quest .badge{width:58px;flex:none}.q-tekst{flex:1;display:flex;flex-direction:column;gap:2px}.q-tekst b{font-size:17px}.q-ster{font-size:28px;color:var(--goud);letter-spacing:2px;text-shadow:0 2px 0 var(--goud-d);line-height:1}.q-ster .leeg{color:#dfe2ee;text-shadow:0 2px 0 #c7cbdb}.q-tekst small{font-size:15px;color:var(--muted)}.st-b{color:var(--good)!important;font-weight:800}.st-z{color:var(--warn)}.st-n{color:var(--muted)}.chip{display:inline-block;border-radius:999px;padding:2px 10px;font-size:14px;font-weight:850;background:#eef1ff;color:var(--acc-d);vertical-align:middle}.chip.extra{background:#f1eaff;color:#6040d8;font-size:12px}.baas-kaart{display:flex;gap:12px;align-items:center;border:3px solid var(--k);background:linear-gradient(135deg,#fff,#fff7f9)}.baas-kaart.dicht{border-color:#d9dbe6;background:#f6f7fb}.baas-kaart.klaar{border-color:var(--goud);background:linear-gradient(135deg,#fff,var(--goud-l))}.bk-beeld{width:110px;flex:none}.bk-beeld svg{width:100%}.bk-tekst{flex:1}.bk-tekst h2{margin:0}.bk-tekst small{text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--muted);font-size:12px}.bk-tekst p{font-size:16px}.bk-kist{color:#7a4512;font-weight:800;font-size:15px!important}.baas-intro,.examen-intro{text-align:center;position:relative;overflow:hidden}.baas-intro{background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--k) 22%,#fff),#fff 60%)}.bi-baas{position:relative;width:190px;margin:10px auto 0}.bi-baas svg{width:100%}.tekstwolk{position:relative;background:#fff;border:3px solid var(--ink);border-radius:18px;padding:10px 14px;font-weight:800;font-size:17px;margin:8px auto 4px;max-width:440px;box-shadow:0 4px #0000001f;width:calc(100vw - 80px)}.bi-baas .tekstwolk{position:relative;left:50%;transform:translate(-50%)}.tekstwolk:before{content:"";position:absolute;top:-14px;left:50%;margin-left:-10px;border:10px solid transparent;border-bottom:12px solid var(--ink);border-top:0}.regels{text-align:left;list-style:none;padding:0;margin:14px auto;max-width:520px}.regels li{background:#f5f7ff;border-radius:12px;padding:8px 12px;margin:6px 0;font-size:17px;font-weight:650}.kist-preview{display:flex;align-items:center;gap:12px;text-align:left;background:var(--goud-l);border:2px solid #f4d777;border-radius:18px;padding:10px 12px;margin:12px 0}.kist-preview .kist-svg{width:80px;flex:none}.kist-preview.leeg{opacity:.75}.kist-items{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.kist-items span{background:#fff;border-radius:12px;padding:3px 10px;font-weight:850;display:inline-flex;align-items:center;gap:4px}.kist-av svg{width:28px;height:36px}.kist-preview small{color:#7a4512;font-weight:700}.slot-info{background:#f3f4f9;border-radius:16px;padding:12px 14px;margin:12px 0;text-align:left;font-weight:700}.slot-info ul{margin:6px 0 0;padding-left:22px;font-weight:600}.veroverd{font-weight:800;color:var(--good-d)}.examen-intro{background:radial-gradient(120% 60% at 50% 0%,#fff3c4,#fff 60%)}.ei-trofee{width:120px;margin:4px auto}.ei-trofee svg{width:100%}.examen-prijs{background:linear-gradient(135deg,#fff8dc,#ffeef6);border:2px solid #f4d777;border-radius:18px;padding:12px;margin:12px 0;text-align:left}.prijs-rij{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.prijs-rij span{background:#fff;border-radius:12px;padding:4px 10px;font-weight:800;font-size:15px;display:inline-flex;align-items:center;gap:4px}.prijs-rij svg{width:28px;height:36px}.prijs-rij em{font-style:normal;color:#b07800;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.prijs-groot{display:flex;align-items:center;gap:12px}.prijs-groot .cadeau-svg{width:70px;flex:none}.prijs-groot .bel{font-size:22px;font-weight:900;color:#b02a63}.ex-stand-oud{color:var(--ink2);font-size:16px}.strijdkop{display:flex;align-items:center;gap:12px;border-radius:20px;padding:10px 12px;margin:6px 0 10px;color:#fff;background:linear-gradient(135deg,#2b2d5c,#4b2f8a);box-shadow:0 6px #0003,0 14px 30px #24308240}.strijdkop.baas{background:linear-gradient(135deg,#2b2d5c,var(--k2))}.sk-baas{width:76px;flex:none}.sk-baas svg{width:100%}.strijdkop.geraakt .sk-baas{animation:schud .45s}.strijdkop.geraakt .hp div{animation:flits .5s}.strijdkop.gemist .schilden span:not(.weg):last-of-type{animation:schud .45s}.sk-mid{flex:1;min-width:0}.sk-mid b{font-size:17px}.hp{position:relative;height:22px;background:#fff3;border-radius:12px;overflow:hidden;margin:4px 0;border:2px solid rgba(255,255,255,.5)}.hp div{height:100%;background:linear-gradient(90deg,#ff4d6d,#ff8fa3);transition:width .6s ease;border-radius:10px}.hp span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;text-shadow:0 1px 2px rgba(0,0,0,.5)}.schilden{font-size:20px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}.schilden .weg{filter:grayscale(1);opacity:.35}.schilden small{font-size:12px;opacity:.85;margin-left:8px;font-weight:700}.strijdkop.examen{flex-direction:column;align-items:stretch;gap:4px;background:linear-gradient(135deg,#3b2a7a,#6040d8)}.ex-titel{font-weight:900;font-size:18px}.ex-titel small{opacity:.85;font-weight:700;margin-left:6px;font-size:14px}.ex-stand{font-weight:750;font-size:16px}.ex-stand b{font-size:20px;color:var(--goud)}.ex-binnen{background:var(--good);border-radius:10px;padding:1px 8px;font-size:13px;font-weight:900}.ex-bollen{display:flex;flex-wrap:wrap;gap:4px}.ex-bollen i{width:14px;height:14px;border-radius:50%;background:#ffffff40}.ex-bollen i.ok{background:#4be08a}.ex-bollen i.no{background:#ffb15c}.strijdkop.examen.geraakt .ex-stand b{display:inline-block;animation:pop .5s}@keyframes schud{0%,to{transform:translate(0)}20%{transform:translate(-8px) rotate(-4deg)}40%{transform:translate(8px) rotate(4deg)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes flits{0%{filter:brightness(2.2)}to{filter:none}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}.uitslag{border-radius:14px;padding:12px;margin:0 0 10px;font-weight:900;font-size:20px;text-align:center}.uitslag.win{background:linear-gradient(135deg,var(--goud),#ffb84d);color:var(--ink);animation:pop .6s}.uitslag.bijna{background:#eef1ff;color:var(--acc-d)}.bar{display:flex;align-items:center;gap:10px;margin:4px 0}.bar .ghost{min-height:46px!important;padding:8px 14px!important;font-size:16px;flex:none}.prog{flex:1;height:18px;background:#fff9;border-radius:10px;overflow:hidden;box-shadow:inset 0 2px #00000014;border:2px solid #fff}.prog div{height:100%;background:linear-gradient(90deg,#1fc8b4,#4b6bfb);border-radius:8px;transition:width .4s ease}.nog{font-size:15px;font-weight:850;color:var(--ink);background:#ffffffd9;border-radius:12px;padding:4px 10px;white-space:nowrap}.parl{display:inline-block;font-size:14px;font-weight:800;color:var(--acc-d);background:var(--acc-l);border-radius:10px;padding:3px 10px}.her{color:var(--warn);font-weight:800}.prompt{font-size:22px;margin:10px 0 12px;font-weight:650;line-height:1.4}.prompt table{border-collapse:collapse;margin-top:8px;font-size:19px;background:#fff}.prompt td,.prompt th{border:2px solid #b8bfd6;padding:6px 12px;text-align:center}.prompt th{background:#f0f2fa;font-weight:800;text-align:left}svg.graph{width:100%;max-width:620px;display:block;margin:0 auto;user-select:none;-webkit-user-select:none;background:#fff;border-radius:14px;border:2px solid #e8ebf5;touch-action:manipulation}.gl{stroke:#cfd6de;stroke-width:1}.ax{stroke:#1f2a37;stroke-width:2.2}.lbl{font-size:15px;fill:#1f2a37;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif}.ttl{font-size:15px;fill:#1f2a37;font-weight:600;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif}.ptl{font-size:18px;font-weight:700}.cnt{font-size:16px;font-weight:700;fill:#b25d00}.answer{margin-top:14px}.boxes{display:flex;align-items:center;justify-content:center;gap:8px;font-size:30px;margin:6px 0 14px;font-weight:800}.box{min-width:96px;height:66px;border:3px solid #d5dbf1;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:900;background:#fff;cursor:pointer;box-shadow:inset 0 3px #0000000d}.box.act{border-color:var(--acc);box-shadow:0 0 0 4px #4b6bfb40}.box small{font-size:14px;color:var(--muted);margin-right:6px;font-weight:800}.unit{font-size:20px;color:var(--muted);font-weight:800}.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:380px;margin:0 auto}.keys button{font-size:28px!important;min-height:64px!important;font-weight:900}.opts{display:grid;gap:12px}.opt{text-align:left;padding:14px 16px!important;font-weight:700!important;border-width:3px!important}.opt.sel{border-color:var(--acc)!important;box-shadow:0 5px 0 var(--acc-d),0 0 0 4px #4b6bfb33!important;background:var(--acc-l)!important}.opt.ok{border-color:var(--good)!important;background:var(--goodbg)!important;box-shadow:0 5px 0 var(--good-d)!important}.opt.no{border-color:var(--warn)!important;background:var(--warnbg)!important;box-shadow:0 5px #c4650c!important}.opt svg{width:100%;max-width:320px;display:block;background:#fff;border-radius:8px}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:16px;flex-wrap:wrap}.actions .primary{min-width:170px;font-size:20px}.tip{background:#eaf4ff;border:2px solid #b9d8ff;border-radius:16px;padding:12px 14px;margin-top:12px;font-weight:600}.tip:before{content:"💡 "}.fb{border-radius:16px;padding:14px;margin-top:14px;animation:inschuif .3s ease-out}.fb b{font-size:20px}.fb.good{background:var(--goodbg);border:3px solid #9ee0b8}.fb.bad{background:var(--warnbg);border:3px solid #ffd09a}.fb p{margin:8px 0 0}@keyframes inschuif{0%{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}.filmcap{background:#fff4e6;border:3px solid #f0b36b;border-radius:16px;padding:12px 14px;margin-top:10px;font-size:20px;min-height:56px;font-weight:600}.placeinfo{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--ink2);font-size:17px;font-weight:650}.placeinfo button{flex:none}.buit-strip{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.chip.xp{background:linear-gradient(90deg,#8f6bff,#4b6bfb);color:#fff;font-size:16px;padding:4px 12px;animation:pop .5s}.chip.combo{background:linear-gradient(90deg,#ff9440,#ff5f6d);color:#fff;font-size:16px;padding:4px 12px;animation:pop .5s .1s both}.chip.ster{background:var(--goud-l);color:#9a6500;font-size:16px;padding:4px 12px}.chip.zacht{background:#f1f3fb;color:var(--ink2);font-weight:700}.badge-pop{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff6c8,#ffe9a8);border:3px solid var(--goud);border-radius:18px;padding:10px 12px;margin-bottom:10px;animation:pop .6s}.badge-pop .badge{width:70px;flex:none;animation:draaiIn .8s ease-out}@keyframes draaiIn{0%{transform:rotateY(180deg) scale(.4)}to{transform:none}}.buit-klein{font-size:15px;font-weight:850;color:#2f47c4}.quest-klaar{background:var(--goodbg);border:2px solid #9ee0b8;border-radius:14px;padding:8px 12px;margin-top:10px;font-size:16px;font-weight:700;animation:pop .5s}.quest-klaar span{color:#2f47c4;font-weight:900;white-space:nowrap}.einde,.baas-winst,.baas-verlies,.examen-bijna,.eindfeest{text-align:center;position:relative;overflow:hidden}.trofee{width:110px;margin:0 auto;animation:hup 1.6s ease-in-out infinite}.trofee svg{width:100%}.groot{font-size:21px;font-weight:750}.buit{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0}.buit div{background:linear-gradient(180deg,#f4f6ff,#e9edff);border-radius:16px;padding:10px 18px;min-width:110px;box-shadow:0 4px #cdd5f3}.buit b{display:block;font-size:30px;font-weight:900;color:var(--acc-d)}.buit span{font-size:14px;font-weight:800;color:var(--ink2)}.nieuw-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;background:var(--goud-l);border-radius:16px;padding:10px;margin:10px 0}.nieuw-badges>b{width:100%}.route-mini{background:#f5f7ff;border-radius:16px;padding:10px 12px;margin:12px 0 4px;text-align:left}.route-mini>span{font-weight:850;font-size:15px}.route-mini small{display:block;font-weight:700;color:var(--acc-d);font-size:14px}.banier{display:inline-block;background:linear-gradient(180deg,#ff6b6b,#e63946);color:#fff;font-weight:900;font-size:26px;letter-spacing:.08em;padding:8px 28px;border-radius:12px;box-shadow:0 5px #a4161a;transform:rotate(-3deg);margin:6px 0 4px;animation:pop .7s}.banier.goud{background:linear-gradient(180deg,#ffe680,var(--goud));color:var(--ink);box-shadow:0 5px 0 var(--goud-d)}.baas-winst{background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--k) 25%,#fff),#fff 65%)}.bw-eiland,.bw-baas{width:200px;margin:6px auto}.bw-eiland svg,.bw-baas svg{width:100%}.baas-verlies{background:radial-gradient(120% 70% at 50% 0%,#eef1ff,#fff 65%)}.kist-groot{position:relative;margin:10px auto}.kist-groot .kist-svg{width:200px;display:block;margin:0 auto;filter:drop-shadow(0 0 20px rgba(255,210,63,.6))}.kist-groot .kist-svg .deksel{transform-origin:12px 52px;transition:transform .6s cubic-bezier(.3,1.6,.5,1)}.kist-groot.open .kist-svg .deksel{transform:rotate(-38deg) translate(-6px,-10px)}.kist-groot:not(.open) .kist-svg{animation:wiebel 1.8s ease-in-out infinite}.kist-groot.open:after{content:"";position:absolute;left:50%;top:30%;width:260px;height:260px;margin:-130px 0 0 -130px;border-radius:50%;background:radial-gradient(circle,rgba(255,230,120,.8),transparent 65%);z-index:-1;animation:pop 1s}.kist-groot button{margin-top:6px}.kist-buit{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:6px 0}.buit-item{background:#fff;border:3px solid var(--goud);border-radius:18px;padding:10px 14px;min-width:120px;box-shadow:0 5px 0 var(--goud-d);display:flex;flex-direction:column;align-items:center;font-size:30px;animation:uitKist .6s cubic-bezier(.3,1.6,.5,1) both}.buit-item:nth-child(2){animation-delay:.15s}.buit-item:nth-child(3){animation-delay:.3s}.buit-item b{font-size:22px}.buit-item span{font-size:13px;font-weight:800;color:var(--ink2)}.buit-item.av-item svg{width:70px;height:auto}@keyframes uitKist{0%{transform:translateY(40px) scale(.3);opacity:0}to{transform:none;opacity:1}}.oefen-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:8px 0}.eiland-knop{display:flex!important;flex-direction:column;align-items:center;border-color:var(--k)!important;box-shadow:0 5px 0 var(--k2)!important}.eiland-knop span{font-size:30px}.eiland-knop small{color:var(--muted)}.eindfeest{background:radial-gradient(130% 80% at 50% 0%,#fff3b0,#fff 60%);border:3px solid var(--goud)}.stralenkrans{position:absolute;left:50%;top:110px;width:700px;height:700px;margin:-350px 0 0 -350px;z-index:0;pointer-events:none;opacity:.55;background:repeating-conic-gradient(from 0deg,rgba(255,210,63,.55) 0 10deg,transparent 10deg 20deg);animation:draai 30s linear infinite;-webkit-mask:radial-gradient(circle,#000 20%,transparent 65%);mask:radial-gradient(circle,#000 20%,transparent 65%)}.eindfeest>:not(.stralenkrans){position:relative;z-index:1}.ef-level{display:inline-block;background:linear-gradient(90deg,#8f6bff,#4b6bfb);color:#fff;font-weight:900;border-radius:14px;padding:4px 14px}.ef-trofee{width:150px;margin:0 auto;animation:hup 1.4s ease-in-out infinite;filter:drop-shadow(0 0 24px rgba(255,210,63,.9))}.ef-trofee svg{width:100%}.eindfeest h1{font-size:30px}.ef-beloning{margin:16px 0;padding:18px 12px;border-radius:22px;background:linear-gradient(135deg,#ff5f97,#8f6bff);color:#fff;box-shadow:0 8px #6040d8,0 0 40px #ff5f9780}.ef-label{text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:14px;opacity:.9}.ef-emoji{font-size:96px;line-height:1.1;animation:wiebel 2.2s ease-in-out infinite;margin:6px 0}.ef-titel{font-size:32px;font-weight:900;line-height:1.15;text-shadow:0 3px 0 rgba(0,0,0,.2)}.ef-laat{margin-top:12px;background:#fff;color:#b02a63;border-radius:14px;padding:10px;font-weight:900;font-size:20px;animation:roep 1.4s ease-in-out infinite}.ef-legende{display:flex;align-items:center;gap:12px;justify-content:center;text-align:left;background:linear-gradient(135deg,#fff6c8,#ffe9a8);border:3px solid var(--goud);border-radius:18px;padding:10px;margin:10px 0}.ef-legende svg{width:80px;height:auto;filter:drop-shadow(0 0 12px rgba(255,210,63,.9))}.certificaat{background:#fffdf5;border-radius:12px;padding:14px;margin:12px 0;box-shadow:var(--schaduw)}.cert-rand{border:6px double #c99a2e;border-radius:10px;padding:24px 16px;text-align:center;background:radial-gradient(circle at 0 0,#fff2c2 0 40px,transparent 41px),radial-gradient(circle at 100% 0,#fff2c2 0 40px,transparent 41px),radial-gradient(circle at 0 100%,#fff2c2 0 40px,transparent 41px),radial-gradient(circle at 100% 100%,#fff2c2 0 40px,transparent 41px)}.cert-trofee{width:90px;margin:0 auto}.cert-trofee svg{width:100%}.cert-kop{font-size:38px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#8a6100;margin:6px 0}.cert-naam{font-size:44px;font-weight:900;color:var(--ink);border-bottom:3px solid #c99a2e;display:inline-block;padding:0 24px;margin:6px 0}.cert-tekst{font-size:24px;margin:10px 0 4px}.cert-sub{color:var(--muted);font-weight:700;font-size:16px}.cert-rij{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:18px 0}.cert-rij div{background:#fff6dc;border-radius:12px;padding:8px 14px;min-width:130px}.cert-rij small{display:block;color:#8a6100;font-weight:800;font-size:13px;text-transform:uppercase;letter-spacing:.05em}.cert-rij b{font-size:20px}.cert-eilanden{font-size:30px;letter-spacing:8px}.cert-handtekening{display:flex;justify-content:space-around;gap:20px;margin-top:26px}.cert-handtekening div{flex:1;max-width:220px}.cert-handtekening span{display:block;border-bottom:2px solid var(--ink);height:36px}.cert-handtekening small{color:var(--muted);font-weight:700}.badge{width:64px;height:auto;display:block}.badge.uit{opacity:.85}.badge-rooster{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px}.b-cel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px}.b-cel .badge{width:72px}.b-cel small{font-size:13px;font-weight:700;color:var(--ink2);line-height:1.25}.trofee-kast{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;background:linear-gradient(180deg,#f7f3ff,#efe9ff);border-radius:16px;padding:10px}.t-cel{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;background:#fff;border-radius:14px;padding:8px;box-shadow:0 4px #ddd3f7}.t-cel svg{width:70px;height:70px}.t-cel.uit{opacity:.65}.t-cel small{font-size:12px;font-weight:800;color:var(--ink2)}.t-groot{font-size:50px;line-height:70px}.w-rooster{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px}.w-item{display:flex!important;flex-direction:column;align-items:center;gap:4px;padding:8px!important;font-size:14px!important}.w-item small{font-size:12px!important;color:var(--ink2)}.w-item.aan{border-color:var(--good)!important;box-shadow:0 5px 0 var(--good-d)!important;background:var(--goodbg)!important}.w-item.speciaal{border-color:#d9c3ff!important;background:linear-gradient(180deg,#fff,#f6f0ff)!important}.w-item.legende{border-color:var(--goud)!important;background:linear-gradient(180deg,#fffbe6,#fff0b8)!important;box-shadow:0 5px 0 var(--goud-d),0 0 14px #ffd23f99!important}.w-item.op-slot .w-mini{filter:grayscale(1) brightness(1.1);opacity:.55}.w-mini svg{width:54px;height:70px}.staal{width:46px;height:46px;border-radius:12px;border:3px solid rgba(0,0,0,.12);display:block}.av{width:100%;height:auto;display:block}.av.mini{width:40px;height:auto}.post{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,#fff,#fff5e8);border:3px solid #ffd7a1;animation:inschuif .4s}.post-sticker{font-size:46px;line-height:1;animation:wiebel 2.6s ease-in-out infinite}.post-sticker.klein{font-size:28px;animation:none}.post-tekst{flex:1}.post-van{font-weight:900;color:#b25d00}.post-rij{display:flex;gap:10px;padding:10px 0;border-bottom:2px solid #f0f2f8}.post-rij:last-child{border-bottom:none}.post-rij p{margin:2px 0}.post-rij small{color:var(--muted);font-weight:700}.overlay{position:fixed;inset:0;z-index:50;background:#1418468c;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s}.popup{max-width:420px;width:100%;text-align:center;animation:pop .5s;border:3px solid var(--goud)}.popup h2{font-size:26px}.lvl-groot{font-size:46px;font-weight:900;background:linear-gradient(180deg,#ffe680,var(--goud));-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:2px var(--goud-d);letter-spacing:.04em}.pop-icoon{font-size:70px;line-height:1.1;animation:wiebel 2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#feest{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}#feest i{position:absolute;top:-20px;width:11px;height:16px;border-radius:2px;animation:val 3s cubic-bezier(.25,.6,.4,1) forwards}#feest i.ster{width:16px;height:16px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}@keyframes val{0%{transform:translateY(0) rotate(0)}to{transform:translateY(110vh) rotate(var(--r,360deg))}}.zweef{position:absolute;z-index:55;transform:translate(-50%);font-weight:900;font-size:24px;color:#fff;pointer-events:none;white-space:nowrap;background:linear-gradient(90deg,#8f6bff,#4b6bfb);padding:4px 14px;border-radius:14px;box-shadow:0 4px #2f47c4;animation:zweefOp 1.6s ease-out forwards}.zweef.raak{background:linear-gradient(90deg,#ff4d6d,#ff9440);box-shadow:0 4px #c9184a}.zweef.reeks{background:linear-gradient(90deg,#ff9440,#ff5f6d);box-shadow:0 4px #c9452b;top:70px!important;position:fixed}@keyframes zweefOp{0%{opacity:0;transform:translate(-50%,10px) scale(.7)}15%{opacity:1;transform:translate(-50%) scale(1.1)}to{opacity:0;transform:translate(-50%,-60px) scale(1)}}body.login{display:flex;align-items:center;justify-content:center;padding:20px 14px}.login-kaart{position:relative;z-index:1;width:100%;max-width:420px;text-align:center;padding:24px 20px 26px!important;margin:0!important}.login-logo{width:120px;height:120px;display:block;margin:-80px auto 4px;filter:drop-shadow(0 10px 12px rgba(36,48,130,.3));animation:zweven 5s ease-in-out infinite}.login-kaart h1{font-size:32px;margin:4px 0 2px;background:linear-gradient(90deg,#4b6bfb,#8f6bff,#ff5f97);-webkit-background-clip:text;background-clip:text;color:transparent}.login-kaart .sub{font-weight:700}.login-kaart form{display:grid;gap:12px;text-align:left;margin-top:10px}.login-kaart label{display:grid;gap:4px;font-weight:800;font-size:17px}.login-kaart input{font:inherit;font-size:20px;padding:12px 14px;min-height:56px;border-radius:14px;border:3px solid #d5dbf1;background:#f8f9ff;color:var(--ink);width:100%}.login-kaart input:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 4px #4b6bfb33;background:#fff}.login-kaart .fb{text-align:left;margin:10px 0 0}.login-kaart button{margin-top:6px}@media(min-width:700px){#app{padding:14px 20px 80px}.held-av,.held-av svg{width:130px}.stap-knop{width:62%}.stap-beeld{width:120px;height:96px}.stap.baas .stap-beeld{width:86px;height:86px}.stap.examen .stap-knop,.stap.beloning .stap-knop{width:50%}.bi-baas{width:230px}}@media(max-width:380px){:where(body:not(.ouders-portaal)){font-size:18px}.stap-knop{width:88%}.stap-beeld{width:78px;height:68px}.tb-tellers{font-size:13px}.held-av,.held-av svg{width:84px}.box{min-width:80px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.wolk{display:none}}@media print{@page{size:A4 landscape;margin:12mm}body{background:#fff!important}#lucht,#top,#feest,.overlay,.zweef,#app>:not(.certificaat){display:none!important}#app{max-width:none;padding:0}.certificaat{box-shadow:none;margin:0;padding:0;background:#fff}.cert-rand{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.vraag svg.graph{max-height:min(58vh,560px);width:auto;max-width:100%}.vraag .v-links:empty,.vraag #vis:empty{display:none}@media(min-width:900px){#app:has(.card.vraag.met-grafiek){max-width:1180px}.vraag.met-grafiek .v-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);gap:22px;align-items:start}.vraag.met-grafiek .v-links{position:sticky;top:96px}.vraag.met-grafiek svg.graph{max-height:calc(100vh - 200px)}.vraag.met-grafiek .actions{justify-content:stretch}.vraag.met-grafiek .actions .primary{flex:1}}.vraag.nagekeken .keys,.vraag.nagekeken #wis,.vraag.nagekeken #acts,.vraag.nagekeken #clr{display:none}.vraag.nagekeken .boxes{margin-bottom:4px}.vraag .parl{font-size:14px}.nog{white-space:nowrap}button.quest{width:100%;text-align:left;border:2px solid transparent;font:inherit;color:inherit;cursor:pointer;min-height:auto}button.quest:hover{border-color:#cfd7ff}button.quest .q-tekst{flex:1;display:flex;flex-direction:column;gap:2px}.q-speel{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--acc,#4b6bfb);color:#fff;font-size:16px;box-shadow:0 3px #24308240}.kop-klein{font-size:20px;margin:18px 0 8px}.kop-klein small{font-size:14px;font-weight:700;opacity:.9;margin-left:6px}.held{flex-wrap:wrap}.held-tekst{flex:1;min-width:200px}.held-doel{flex-basis:100%;position:relative;z-index:1}.held-doel .route-balk{height:30px}.held-doel .route-balk span{font-size:14px}.held-doel p{margin:6px 2px 0;font-weight:750;color:var(--ink2);font-size:16px}.vinklijst{list-style:none;padding-left:0!important}.vinklijst li{padding:3px 0}.vinklijst li.ok{color:#1f7a45}.popup #stop-ja{margin-top:10px;width:100%}.route-balk span span,.route-balk span b{position:static;display:inline;inset:auto}.held-doel .route-balk>span{gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px}.kop-klein{color:var(--ink);background:#ffffffd9;display:inline-block;padding:4px 12px;border-radius:12px}.vraag.is-goed .box{border-color:#2fa866;background:#effbf3}.vraag.is-fout .box{border-color:#e08a1e;background:#fff6ea}body.ouders-portaal{--o-acc:#4b6bfb;--o-acc-d:#3450d1;--o-acc-l:#eef1ff;--o-bg:#f4f6fb;--o-kaart:#fff;--o-ink:#1f2a37;--o-muted:#667085;--o-lijn:#e3e7f0;--o-goed:#2e7d4f;--o-goed-l:#e7f5ec;--o-warn:#b26a00;--o-warn-l:#fdf3e1;--o-slecht:#b42318;--o-slecht-l:#fdecea;--o-goud:#f5b301;--o-goud-l:#fff7dc;background:var(--o-bg);color:var(--o-ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0}body.ouders-portaal #lucht,body.ouders-portaal #feest,body.ouders-portaal #top{display:none}body.ouders-portaal #app{max-width:none;padding:0;margin:0}.op{max-width:980px;margin:0 auto;padding:18px 16px 60px;font-size:16px;line-height:1.45;box-sizing:border-box}.op *,.op *:before,.op *:after{box-sizing:border-box}.op h1{font-size:28px;margin:0;letter-spacing:-.01em}.op h2{font-size:21px;margin:0 0 6px}.op h3{font-size:17px;margin:22px 0 8px}.op small{font-size:.82em;color:var(--o-muted);font-weight:400}.op-kop{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between;padding-bottom:12px}.op-boven{margin:0 0 2px;color:var(--o-acc);font-weight:600;font-size:14px}.op-acties{display:flex;flex-wrap:wrap;gap:8px}.op-nav{position:sticky;top:0;z-index:5;display:flex;gap:4px;overflow-x:auto;margin:0 -16px 8px;padding:8px 16px;background:#f4f6fbeb;backdrop-filter:blur(6px);border-bottom:1px solid var(--o-lijn)}.op-nav{scrollbar-width:none}.op-nav::-webkit-scrollbar{display:none}.op-nav a{flex:none;padding:6px 12px;border-radius:999px;color:var(--o-ink);text-decoration:none;font-size:15px;font-weight:500}.op-nav a:hover,.op-nav a:focus-visible{background:var(--o-acc-l);color:var(--o-acc-d)}.op-sectie{padding-top:22px;scroll-margin-top:56px}.op-uitleg{margin:0 0 10px;color:var(--o-muted)}.op-klein-tekst{font-size:14px;margin-top:10px}.op-stil-tekst{margin:0;color:var(--o-muted)}.op-kaart{background:var(--o-kaart);border:1px solid var(--o-lijn);border-radius:14px;padding:16px;box-shadow:0 1px 2px #1018280a}.op-scroll{overflow-x:auto}.op-knop{font:inherit;font-size:15px;font-weight:600;border:1px solid var(--o-lijn);background:#fff;color:var(--o-ink);border-radius:10px;padding:9px 14px;cursor:pointer;min-height:42px;white-space:nowrap;transition:background .15s,border-color .15s}.op-knop:hover{border-color:#c5cce0;background:#fafbff}.op-knop:focus-visible,.op-keuze:focus-visible,.op-segment button:focus-visible,.op-chip:focus-visible{outline:3px solid rgba(75,107,251,.35);outline-offset:1px}.op-knop:disabled{opacity:.6;cursor:default}.op-hoofd{background:var(--o-acc);border-color:var(--o-acc);color:#fff}.op-hoofd:hover{background:var(--o-acc-d);border-color:var(--o-acc-d)}.op-stil{background:transparent;border-color:transparent;color:var(--o-muted)}.op-stil:hover{background:#eceff6;border-color:transparent}.op-rij{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.op-gehaald{display:flex;gap:16px;align-items:center;margin:4px 0 20px;padding:20px;border-radius:16px;background:linear-gradient(135deg,var(--o-goud-l),#fff);border:2px solid var(--o-goud);box-shadow:0 6px 20px #f5b3012e}.op-gehaald-icoon{font-size:56px;line-height:1}.op-gehaald-kop{margin:0;font-size:22px;font-weight:700;line-height:1.3}.op-gehaald-bel{margin:6px 0 0;font-size:17px}.op-tegels{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;margin-top:10px}.op-tegel{background:var(--o-kaart);border:1px solid var(--o-lijn);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;min-width:0}.op-tegel b{font-size:26px;line-height:1.2}.op-tegel b.op-klein{font-size:18px}.op-tegel>span:last-child{font-size:14px;color:var(--o-muted)}.op-tegel-level{grid-column:span 2}.op-tegel-goud{border-color:var(--o-goud);background:var(--o-goud-l)}.op-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--o-muted)}.op-balk{height:10px;border-radius:99px;background:var(--o-acc-l);overflow:hidden;margin:6px 0 4px}.op-balk i{display:block;height:100%;background:linear-gradient(90deg,var(--o-acc),#7b93ff);border-radius:99px}.op-bazen{margin-top:10px;background:var(--o-kaart);border:1px solid var(--o-lijn);border-radius:14px;padding:10px 14px}.op-bazen summary{cursor:pointer;font-weight:600}.op-bazen ul{list-style:none;margin:8px 0 0;padding:0}.op-bazen li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;padding:6px 0;border-top:1px solid var(--o-lijn)}.op-bazen li em{margin-left:auto;font-style:normal;font-size:14px;color:var(--o-muted)}.op-bazen li.is-ja em{color:var(--o-goed);font-weight:600}.op-form{display:flex;flex-direction:column;gap:14px}.op-veld{display:flex;flex-direction:column;gap:6px}.op-veld>span{font-weight:600;font-size:15px}.op-form input,.op-form textarea{font:inherit;font-size:16px;color:var(--o-ink);border:1px solid #cfd5e3;border-radius:10px;padding:10px 12px;width:100%;background:#fff}.op-form textarea{resize:vertical;min-height:84px}.op-form input:focus,.op-form textarea:focus{outline:none;border-color:var(--o-acc);box-shadow:0 0 0 3px #4b6bfb2e}.op-keuzes{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.op-keuze{font-size:22px;width:46px;height:46px;border-radius:12px;border:1px solid var(--o-lijn);background:#fff;cursor:pointer;padding:0}.op-keuze.is-aan{border:2px solid var(--o-acc);background:var(--o-acc-l)}.op-emoji-in{width:70px!important;text-align:center;font-size:20px!important;height:46px}.op-segment{display:inline-flex;flex-wrap:wrap;border:1px solid var(--o-lijn);border-radius:12px;overflow:hidden;background:#fff;align-self:flex-start;max-width:100%}.op-segment button{font:inherit;font-size:15px;border:0;border-right:1px solid var(--o-lijn);background:transparent;padding:9px 14px;cursor:pointer;min-height:42px;color:var(--o-ink)}.op-segment button:last-child{border-right:0}.op-segment button.is-aan{background:var(--o-acc);color:#fff;font-weight:600}.op-snel{display:flex;flex-wrap:wrap;gap:6px;margin-top:-6px}.op-chip{font:inherit;font-size:14px;border:1px dashed #b9c3e6;background:var(--o-acc-l);color:var(--o-acc-d);border-radius:999px;padding:6px 12px;cursor:pointer}.op-chip:hover{border-style:solid}.op-voorbeeld{margin:0;color:var(--o-muted)}.op-voorbeeld b{color:var(--o-ink)}.op-melding{margin:0;padding:10px 12px;border-radius:10px;font-weight:500}.op-goed{background:var(--o-goed-l);color:var(--o-goed)}.op-slecht{background:var(--o-slecht-l);color:var(--o-slecht)}.op-bel-nu{display:flex;gap:14px;align-items:center}.op-bel-emoji{font-size:44px;line-height:1;width:64px;height:64px;display:grid;place-items:center;background:var(--o-goud-l);border-radius:16px}.op-bel-nu b{display:block;font-size:20px}.op-vb-bericht{background:var(--o-bg);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.op-bericht-tom{display:flex;gap:10px;align-items:flex-start;background:#fff;border:2px solid var(--o-acc);border-radius:14px;padding:10px 12px}.op-bericht-tom p{margin:0;font-weight:600}.op-sticker{font-size:28px;line-height:1;flex:none}.op-berichten{display:flex;flex-direction:column;gap:8px}.op-bericht{display:flex;gap:12px;align-items:flex-start;background:var(--o-kaart);border:1px solid var(--o-lijn);border-left:4px solid var(--o-warn);border-radius:12px;padding:10px 12px}.op-bericht.is-gezien{border-left-color:var(--o-goed)}.op-bericht-body{flex:1;min-width:0}.op-bericht-body p{margin:0 0 2px;overflow-wrap:anywhere}.op-gezien{flex:none;font-size:14px;font-weight:600;color:var(--o-warn);text-align:right;display:flex;flex-direction:column}.op-bericht.is-gezien .op-gezien{color:var(--o-goed)}.op-kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.op-kpi div{background:var(--o-kaart);border:1px solid var(--o-lijn);border-radius:12px;padding:10px 12px}.op-kpi b{display:block;font-size:26px}.op-kpi span{font-size:14px;color:var(--o-muted)}.op-t{width:100%;border-collapse:collapse;font-size:15px}.op-t td,.op-t th{border-bottom:1px solid var(--o-lijn);padding:8px 6px;text-align:left;vertical-align:top}.op-t thead th{color:var(--o-muted);font-weight:600;font-size:14px}.op-t tr:last-child td{border-bottom:0}.op-t .op-num{white-space:nowrap}.op-t-skills{min-width:560px}.op-par th{background:var(--o-acc-l);color:var(--o-acc-d);font-weight:700;padding-top:9px}.op-par th small{color:var(--o-acc-d);opacity:.75;margin-left:6px}.op-st{white-space:nowrap}.op-st-b{color:var(--o-goed);font-weight:600}.op-st-z{color:var(--o-warn)}.op-st-n{color:var(--o-muted)}@media(max-width:600px){.op{padding:14px 12px 48px}.op h1{font-size:24px}.op-nav{margin:0 -12px 6px;padding:8px 12px}.op-acties{width:100%}.op-acties .op-hoofd{flex:1}.op-tegels{grid-template-columns:1fr 1fr}.op-tegel b{font-size:22px}.op-gehaald{flex-direction:column;text-align:center;padding:16px}.op-gehaald-icoon{display:none}.op-acties .op-knop{padding:9px 11px}.op-gehaald-kop{font-size:19px}.op-kaart{padding:12px}.op-bericht{flex-wrap:wrap}.op-gezien{width:100%;text-align:left;flex-direction:row;gap:6px;align-items:baseline}}@media(prefers-reduced-motion:reduce){.op *{transition:none!important;scroll-behavior:auto!important}}.op-route{background:#fff;border-radius:14px;padding:12px 14px;margin:10px 0 4px;box-shadow:0 1px 3px #141e5014}.op-route-kop{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;align-items:baseline}.op-route-kop span{color:#5b6280;font-size:14px}
