@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/andika-latin-400-normal-BTFTIZb-.woff2)format("woff2"),url(/assets/andika-latin-400-normal-BK42By1L.woff)format("woff")}@font-face{font-family:Andika;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/andika-latin-700-normal-Dk95f5lc.woff2)format("woff2"),url(/assets/andika-latin-700-normal-CAUSQC6x.woff)format("woff")}:root{--vh:1vh;--bg:#fff7e8;--brand:#5b3c99;--surface:#fff;--ink:#2b2a3d;--muted:#6d6a80;--line:#ecdfc6;--edge:#2b2a3d24;--accent:#3b82f6;--accent-dark:#2563c9;--sun:#ffc23d;--sun-dark:#e09b0b;--good:#22c55e;--good-soft:#dcfce7;--accent-soft:#e8f0fe;--brand-soft:#efe9fb;--star-empty:#e6dcc8;--cijfers:#3b82f6;--letters:#e8505b;--vormen:#16a37f;--begrippen:#c2672b;--woorden:#b5407a;--memory:#0f7f8a;--naam:#7c4fc4;--engels:#33508f;--night:#1d1747;--night-light:#2f2470;--night-ink:#d9d0ff;--moon:#ffd76a;--radius:28px;--press:6px;--gutter:16px;--icon:72px;--font:"Andika", ui-rounded, system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font:20px/1.4 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}@supports (height:1svh){:root{--vh:1svh}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0}input{-webkit-user-select:text;user-select:text}button,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:4px solid var(--accent);outline-offset:3px}h1,h2,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}svg{display:block}.screen{min-height:100vh;min-height:100dvh;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));flex-direction:column;gap:16px;display:flex}@media (max-width:520px),(max-height:500px){:root{--icon:56px;--radius:22px}.screen{gap:12px}}.topbar{min-height:var(--icon);justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar.centered{grid-template-columns:1fr minmax(0,auto) 1fr;display:grid}.topbar.centered>:first-child{justify-self:start}.topbar.centered>:nth-child(3){justify-self:end}.screen-title{text-align:center;font-size:clamp(28px,5vw,44px)}.logo{color:var(--brand);align-items:center;gap:.18em;font-size:clamp(30px,5vw,44px);font-weight:700;display:inline-flex}.logo-mark{width:1.2em;height:1.2em;rotate:-10deg}.logo-word span{text-shadow:0 .07em #5b3c992e;display:inline-block}.logo-word span:nth-child(odd){translate:0 -.05em;rotate:-4deg}.logo-word span:nth-child(2n){translate:0 .03em;rotate:3deg}.who{align-items:center;gap:8px;min-width:0;font-size:clamp(20px,5vw,28px);font-weight:700;display:flex}.who-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile,.icon-button,.choice,.button,.sky-button{background:var(--surface);box-shadow:0 var(--press) 0 var(--edge);border:0;transition:transform 80ms,box-shadow 80ms}:-webkit-any(.tile,.icon-button,.choice,.button,.sky-button):active:not(:disabled){transform:translateY(var(--press));box-shadow:0 0 0 var(--edge)}:is(.tile,.icon-button,.choice,.button,.sky-button):active:not(:disabled){transform:translateY(var(--press));box-shadow:0 0 0 var(--edge)}.icon-button{width:var(--icon);height:var(--icon);border-radius:50%;flex:none;place-items:center;display:grid}.icon-button svg{width:50%;height:50%}.icon-button.small{width:52px;height:52px;box-shadow:none}.icon-button.small svg{width:24px;height:24px}.icon-button.quiet{color:var(--muted);background:0 0}.button{background:var(--accent);color:#fff;min-height:56px;box-shadow:0 4px 0 var(--accent-dark);--press:4px;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-weight:700;display:inline-flex}.button.secondary{background:var(--surface);color:var(--ink);box-shadow:0 4px 0 var(--edge)}.tile{border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;padding:20px 16px;display:flex}.tile-label{overflow-wrap:anywhere;font-size:clamp(24px,3.5vw,32px);font-weight:700;line-height:1.1}.star-count{align-items:center;gap:6px;font-size:22px;font-weight:700;display:inline-flex}.star-count svg{width:26px;height:26px;fill:var(--sun);color:var(--sun-dark)}.profile-grid{--tile:clamp(140px, min(42vw, 30vh), 240px);flex-wrap:wrap;justify-content:center;gap:clamp(12px,3vw,24px);margin:auto 0;padding-bottom:8vh;display:flex}.profile-grid li{width:var(--tile)}.avatar{line-height:1}.profile-tile .avatar{font-size:calc(var(--tile) * .38)}.profile-tile .tile-label{font-size:min(clamp(24px, 3.5vw, 32px), calc((var(--tile) - 32px) / (var(--length) * .62)));overflow-wrap:normal}.icon-button[data-news]{position:relative}.icon-button[data-news]:after{content:"";border:2px solid var(--bg);background:var(--letters);border-radius:50%;width:12px;height:12px;position:absolute;top:10px;right:10px}.subject-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(12px,2.5vw,24px);width:100%;max-width:1100px;margin:auto;padding-bottom:2vh;display:grid}.subject-grid>li>.subject-tile{height:100%}.subject-grid>:last-child:nth-child(odd){grid-column:1/-1}.subject-grid:has(>:nth-child(7)) .subject-tile{gap:4px;min-height:clamp(110px,19vh,240px);padding-block-start:12px;padding-block-end:12px}.subject-grid:has(>:nth-child(7)) :-webkit-any(.subject-symbols,.subject-shapes,.subject-emoji,.subject-cards){height:clamp(48px,7vh,100px)}.subject-grid:has(>:nth-child(7)) :is(.subject-symbols,.subject-shapes,.subject-emoji,.subject-cards){height:clamp(48px,7vh,100px)}.subject-grid:has(>:nth-child(7)) :-webkit-any(.subject-symbols,.subject-emoji){font-size:min(clamp(40px, 7vh, 90px), calc(var(--cw) * .42))}.subject-grid:has(>:nth-child(7)) :is(.subject-symbols,.subject-emoji){font-size:min(clamp(40px, 7vh, 90px), calc(var(--cw) * .42))}.subject-grid:has(>:nth-child(7)) .subject-own-name{font-size:min(clamp(40px, 7vh, 90px), calc(var(--cw) * 1.6 / var(--length)))}@media (min-width:1000px),(min-aspect-ratio:3/2){.subject-grid{grid-template-columns:repeat(6,minmax(0,1fr));max-width:960px}.subject-grid>li,.subject-grid>:last-child:nth-child(odd){grid-column:span 2}.subject-grid:has(>:nth-child(7)){grid-template-columns:repeat(8,minmax(0,1fr));max-width:1100px}.subject-grid:has(>:nth-child(7):last-child)>:nth-child(5){grid-column:2/span 2}}.subject-tile{color:#fff;background:var(--subject);min-height:clamp(130px,26vh,280px);box-shadow:0 var(--press) 0 #00000038;--cw:44vw;padding-inline-start:10px;padding-inline-end:10px;position:relative;container-type:inline-size}@media (min-width:1000px),(min-aspect-ratio:3/2){.subject-tile{--cw:min(28vw, 300px)}}@supports (container-type:inline-size){.subject-tile{--cw:100cqw}}.subject-tile .star-count svg{color:#fff}.subject-cijfers{--subject:var(--cijfers)}.subject-letters{--subject:var(--letters)}.subject-vormen{--subject:var(--vormen)}.subject-woorden{--subject:var(--woorden)}.subject-memory{--subject:var(--memory)}.subject-begrippen{--subject:var(--begrippen)}.subject-naam{--subject:var(--naam)}.subject-engels{--subject:var(--engels)}.subject-tile[data-napping]{background:linear-gradient(#ffffff8c, #ffffff8c), var(--subject)}.subject-tile[data-napping]>:not(.nap-badge){opacity:.6}.nap-badge{font-size:clamp(30px,5vh,52px);line-height:1;animation:2.4s ease-in-out infinite float;position:absolute;top:4px;right:6px}.subject-tile .tile-label{font-size:min(clamp(24px, 3.5vw, 32px), calc(var(--cw) * .15));overflow-wrap:normal;line-height:1.1}.subject-symbols,.subject-shapes,.subject-emoji,.subject-cards{align-items:center;height:clamp(72px,12vh,110px);display:flex}.subject-symbols{font-size:min(clamp(60px, 11vh, 100px), calc(var(--cw) * .5));letter-spacing:.06em;font-weight:700;line-height:1}.subject-shapes{gap:10px}.subject-shapes svg{width:min(clamp(48px, 9vh, 80px), calc(var(--cw) * .26))}.subject-emoji{font-size:min(clamp(60px, 11vh, 100px), calc(var(--cw) * .42));align-items:flex-end;gap:4px;line-height:1}.subject-emoji .small{font-size:.5em}.subject-cards{align-items:center;gap:8px}.subject-cards>span{height:min(100%, calc(var(--cw) * .4));aspect-ratio:3/4;font-size:min(clamp(28px, 5vh, 46px), calc(var(--cw) * .19));border-radius:10px;place-items:center;line-height:1;display:grid}.subject-card-back{background:#ffffff40;rotate:-8deg}.subject-card-back svg{width:70%}.subject-card-face{background:#fff;rotate:6deg}.subject-own-name{font-size:min(clamp(60px, 11vh, 100px), calc(var(--cw) * 1.6 / var(--length)));letter-spacing:0}@media (orientation:landscape) and (max-height:500px){.subject-grid{padding-bottom:0}.subject-tile{gap:2px;min-height:0;padding-block-start:6px;padding-block-end:6px}.subject-grid:has(>:nth-child(7)) .subject-tile{gap:2px;min-height:0;padding-block-start:6px;padding-block-end:6px}.subject-symbols,.subject-shapes,.subject-emoji,.subject-cards{height:10vh}.subject-grid:has(>:nth-child(7)) :-webkit-any(.subject-symbols,.subject-shapes,.subject-emoji,.subject-cards){height:10vh}.subject-grid:has(>:nth-child(7)) :is(.subject-symbols,.subject-shapes,.subject-emoji,.subject-cards){height:10vh}.subject-grid{gap:12px}.subject-tile .tile-label{font-size:min(22px, calc(var(--cw) * .13))}.subject-symbols,.subject-emoji{font-size:min(10vh, calc(var(--cw) * .42))}.subject-own-name{font-size:min(10vh, calc(var(--cw) * 1.6 / var(--length)))}.subject-shapes svg{width:7.5vh}}.sky-button{height:var(--icon);background:var(--night);color:#fff;box-shadow:0 var(--press) 0 #00000040;border-radius:999px;align-items:center;gap:10px;padding:0 18px 0 14px;display:inline-flex}.sky-button>svg{width:30px;height:30px;color:var(--moon);fill:var(--moon)}.game{height:100vh;height:100dvh;overflow:hidden}.round-stars{--star:clamp(12px, calc((100vw - 2 * var(--gutter) - 2 * var(--icon) - 24px) / var(--total) - 2px), 34px);justify-content:center;gap:2px;display:flex}.round-stars svg{width:var(--star);height:var(--star);fill:var(--star-empty);color:var(--star-empty)}.round-stars [data-done] svg{fill:var(--sun);color:var(--sun-dark);animation:.6s cubic-bezier(.34,1.56,.64,1) star-pop}.prompt{--cw:calc(100vw - 2 * var(--gutter));--ch:40vh;--room:calc(var(--ch) - 44px);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;min-height:0;display:flex;container-type:size}@supports (container-type:size){.prompt{--cw:100cqw;--ch:100cqh}}.caption{color:var(--muted);text-align:center;font-size:clamp(16px,2.2vw,22px)}.prompt-card{min-width:min(calc(var(--cw) * .6), 260px);border-radius:var(--radius);background:var(--surface);box-shadow:0 var(--press) 0 var(--edge);border:0;place-items:center;gap:4px;padding:12px 32px;display:grid}.prompt-symbol{font-size:min(220px, calc(var(--cw) * .6), calc((var(--room) - 24px) * .9));font-weight:700;line-height:1.1}.prompt-emoji{font-size:min(190px, calc((var(--room) - 28px) * .62));line-height:1.15}.prompt-word{font-size:min(52px, calc((var(--room) - 28px) * .16));letter-spacing:.04em;font-weight:700}@container (height<=240px){.prompt-picture{grid-auto-flow:column;gap:16px;padding:8px 28px}.prompt-emoji{font-size:min(190px, calc((var(--room) - 16px) * .85))}.prompt-word{font-size:min(52px, calc((var(--room) - 16px) * .5))}}.prompt-word mark{color:var(--letters);background:0 0}.prompt-shape{width:min(220px, calc(var(--room) - 40px));margin:8px 0}.prompt-listen{width:min(160px, calc(var(--room) - 6px));aspect-ratio:1;background:var(--surface);color:var(--accent);box-shadow:0 var(--press) 0 var(--edge);border:0;border-radius:50%;place-items:center;animation:2.4s ease-in-out infinite breathe;display:grid}.prompt-listen svg{width:55%;height:55%}.sequence{gap:14px;display:flex}.sequence-box{--box:min(140px, calc(var(--room) - 6px), calc((var(--cw) - 60px) / 3));width:var(--box);aspect-ratio:1;background:var(--surface);box-shadow:0 var(--press) 0 var(--edge);font-size:calc(var(--box) * .62);border-radius:22px;place-items:center;font-weight:700;display:grid}.sequence-missing{box-shadow:none;border:5px dashed var(--line);color:var(--muted);background:0 0}.counting{--columns:var(--narrow-columns);--rows:var(--narrow-rows);--item:min(112px, calc((var(--cw) - 10px * (var(--columns) - 1) - 24px) / var(--columns)), calc((var(--room) - 10px * (var(--rows) - 1) - 12px) / var(--rows)));grid-template-columns:repeat(var(--columns), var(--item));justify-content:center;gap:10px;display:grid}@container not (aspect-ratio>=2){.counting[data-tens]>:nth-child(-n+10){translate:0 -5px}.counting[data-tens]>:nth-child(n+11){translate:0 5px}}@container (aspect-ratio>=2){.counting{--columns:var(--wide-columns);--rows:var(--wide-rows)}.counting[data-fives]>*{translate:6px}.counting[data-fives]>:-webkit-any(:nth-child(10n+1),:nth-child(10n+2),:nth-child(10n+3),:nth-child(10n+4),:nth-child(10n+5)){translate:-6px}.counting[data-fives]>:is(:nth-child(10n+1),:nth-child(10n+2),:nth-child(10n+3),:nth-child(10n+4),:nth-child(10n+5)){translate:-6px}}.counting-item{width:var(--item);aspect-ratio:1;font-size:calc(var(--item) * .72);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid;position:relative}.counting-item[data-counted]{background:var(--good-soft)}.counting-badge{--badge:max(22px, calc(var(--item) * .34));min-width:var(--badge);height:var(--badge);border-radius:var(--badge);background:var(--good);color:#fff;font-size:calc(var(--badge) * .65);place-items:center;padding:0 4px;font-weight:700;animation:.3s ease-out pop;display:grid;position:absolute;top:-4px;right:-4px}.choices{--gap:16px;--size:clamp(110px, min(44vw, 40 * var(--vh)), 340px);justify-content:center;gap:var(--gap);flex-wrap:wrap;margin:0 auto;padding-bottom:8px;display:flex}.choices[data-count="3"]{--size:clamp(96px, min(28vw, 36 * var(--vh)), 300px)}.choices[data-count="4"]{--size:clamp(90px, min(21vw, 32 * var(--vh)), 230px)}@media (max-width:520px){.choices{--gap:12px}.choices[data-count="3"]{--size:min(42vw, 25 * var(--vh))}.choices[data-count="4"]{--size:min(42vw, 24 * var(--vh));max-width:calc(2 * var(--size) + var(--gap))}}.english-card{--size:clamp(150px, min(60vw, 42 * var(--vh)), 340px);width:var(--size);aspect-ratio:1;min-width:0;padding:0;animation:.35s ease-out pop}@media (max-height:500px){.choices,.choices[data-count="3"],.choices[data-count="4"]{--size:clamp(80px, 27 * var(--vh), 130px)}}.choice{width:var(--size);aspect-ratio:1;border-radius:var(--radius);place-items:center;padding:0;display:grid}.choice svg{width:70%}.choice-symbol{font-size:calc(var(--size) * .56);font-weight:700;line-height:1}.choice[data-state=correct]{z-index:1;background:var(--good-soft);outline:5px solid var(--good);box-shadow:0 var(--press) 0 var(--edge), 0 0 0 14px #22c55e2e;animation:.6s ease-out bounce;position:relative}.cheer{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.confetti{width:var(--piece);height:var(--piece);margin:calc(var(--piece) / -2);opacity:0;border-radius:50%;animation:.9s cubic-bezier(.15,.7,.3,1) forwards confetti;position:absolute;top:50%;left:50%}.confetti.star{--piece:30px;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);border-radius:0}.hop{text-align:center;font-size:calc(var(--size) * .55);opacity:0;transform-origin:50% 100%;line-height:1;animation:1.3s ease-out .1s forwards hop;position:absolute;bottom:70%;left:0;right:0}.choice[data-state=wrong]{opacity:.35;filter:grayscale();animation:.4s ease-in-out shake}.choice .figure-emoji,.english-card .figure-emoji{font-size:calc(var(--size) * .62 * var(--scale));line-height:1}.choice svg.figure{width:86%}.figure-sky{border-bottom:calc(var(--size) * .05) solid #9bd37b;border-radius:calc(var(--radius) * .6) calc(var(--radius) * .6) 6px 6px;background:linear-gradient(#dff0ff,#f4faff);width:82%;height:82%;position:relative}.figure-flyer{left:50%;bottom:calc(var(--height) * (100% - 1.15em));font-size:calc(var(--size) * .34);line-height:1.15;position:absolute;translate:-50%}.figure-place{border-bottom:4px solid #eadfca;width:86%;height:86%;position:relative}.figure-place>span{line-height:1.1;position:absolute;translate:-50%}.place-object{font-size:calc(var(--size) * .46)}.place-thing{font-size:calc(var(--size) * .24 * var(--scale))}.figure-claps{font-size:calc(var(--size) * .8 / max(var(--amount), 2.6));white-space:nowrap;line-height:1}.prompt-words{justify-content:center;gap:16px;max-width:100%;display:flex}.prompt-words[data-count="2"] .prompt-card{flex:0 220px;min-width:0;padding-inline-start:12px;padding-inline-end:12px}.prompt-words[data-count="2"] .prompt-emoji{font-size:min(150px, calc((var(--room) - 28px) * .55), calc(var(--cw) * .28))}.word-part+.word-part:before{content:"·";color:var(--muted);margin:0 .25em}.figure-swatch,.mix-blob{aspect-ratio:1;border-radius:47% 53% 50% 50%/55% 48% 52% 45%;box-shadow:inset 0 0 0 3px #0000001f}.figure-swatch{width:66%}.mix{--blob:min(130px, calc(var(--room) - 16px), calc((var(--cw) - 4 * 12px - 2 * 48px) / 3));align-items:center;gap:12px;display:flex}.mix-blob{width:var(--blob)}.mix-unknown{border:5px dashed var(--line);box-shadow:none;color:var(--muted);font-size:calc(var(--blob) * .5);place-items:center;font-weight:700;display:grid}.mix-sign{color:var(--muted);font-size:calc(var(--blob) * .45);font-weight:700}.memory{--cw:calc(100vw - 2 * var(--gutter));--ch:calc(100 * var(--vh) - var(--icon) - 4 * var(--gutter));flex:1;place-items:center;min-height:0;display:grid;container-type:size}@supports (container-type:size){.memory{--cw:100cqw;--ch:100cqh}}.memory-grid{--cols:var(--wide-cols);--rows:var(--wide-rows);--gap:clamp(8px, 2vmin, 18px);--card:min(190px, calc((var(--cw) - var(--gap) * (var(--cols) - 1)) / var(--cols)), calc((var(--ch) - var(--gap) * (var(--rows) - 1)) / var(--rows)));grid-template-columns:repeat(var(--cols), var(--card));gap:var(--gap);display:grid}@media (orientation:portrait){.memory-grid{--cols:var(--tall-cols);--rows:var(--tall-rows)}}.memory-card{width:var(--card);aspect-ratio:1;border-radius:calc(var(--card) * .16);perspective:800px;background:0 0;border:0;padding:0;position:relative}.memory-card>span{border-radius:inherit;box-shadow:0 var(--press) 0 var(--edge);-webkit-backface-visibility:hidden;backface-visibility:hidden;place-items:center;transition:transform .35s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.memory-back{background:var(--brand)}.memory-back svg{width:58%}.memory-face{background:var(--surface);transform:rotateY(180deg)}.memory-card[data-up] .memory-back{transform:rotateY(-180deg)}.memory-card[data-up] .memory-face{transform:rotateY(0)}.memory-card[data-found] .memory-face{background:var(--good-soft);box-shadow:0 0 0 4px var(--good)}.memory-picture{font-size:calc(var(--card) * .6);line-height:1}.memory-symbol{font-size:calc(var(--card) * .58);font-weight:700;line-height:1}.memory-dots{grid-template-columns:repeat(var(--per-row), calc(var(--card) * .17));justify-content:center;gap:calc(var(--card) * .06);display:grid}.memory-dots span{aspect-ratio:1;background:var(--brand);border-radius:50%}.choices[data-kind=compare]{--equal:clamp(64px, 10vw, 100px);--side-by-side:calc((100vw - 2 * var(--gutter) - 2 * var(--gap)) / 2);--group:clamp(130px, min(var(--side-by-side), 45 * var(--vh)), 360px);--emoji:.15}.choices[data-kind=compare][data-count="3"]{--side-by-side:calc((100vw - 2 * var(--gutter) - var(--equal) - 2 * var(--gap)) / 2)}.choice[data-group]{width:var(--group);aspect-ratio:4/3}.choices[data-kind=compare] .choice:not([data-group]){width:var(--equal);aspect-ratio:auto;align-self:stretch}.choices[data-kind=compare] .choice:not([data-group]) .choice-symbol{font-size:clamp(40px,7vw,64px)}@media (max-height:500px){.choices[data-kind=compare]{--group:min(var(--side-by-side), 300px);--emoji:.12}.choice[data-group]{aspect-ratio:5/2}}@media (max-width:520px) and (orientation:portrait){.choices[data-kind=compare]{--group:min(calc(100vw - 2 * var(--gutter)), 360px);--emoji:.12;flex-direction:column;align-items:stretch}.choice[data-group]{aspect-ratio:5/2}.choices[data-kind=compare] .choice:not([data-group]){width:auto;min-height:56px}}.group{grid-template-columns:repeat(var(--columns), auto);font-size:calc(var(--group) * var(--emoji));gap:2px 4px;line-height:1.15;display:grid}.name-slots{--slot-gap:clamp(3px, calc(var(--cw) * .012), 8px);--one-row:calc((var(--cw) - var(--slot-gap) * (var(--slots) - 1)) / var(--letters));--per-part:calc((var(--cw) - var(--slot-gap) * (var(--longest) - 1)) / var(--longest));--slot:min(110px, max(var(--one-row), min(var(--per-part), 30px)), calc((var(--room) - 16px) / 1.15));--size:var(--slot);justify-content:center;gap:10px var(--slot-gap);flex-wrap:wrap;display:flex;position:relative}.name-word{gap:var(--slot-gap);display:flex}.name-slot{width:calc(var(--slot) * .4);height:calc(var(--slot) * 1.15);font-size:calc(var(--slot) * .78);place-items:center;font-weight:700;line-height:1;display:grid}.name-slot[data-letter]{width:var(--slot);border-radius:calc(var(--slot) * .2);background:var(--surface);box-shadow:inset 0 -5px 0 var(--line)}.name-slot[data-example]{color:#2b2a3d33}.name-slot[data-state=next]{outline:4px solid var(--accent);outline-offset:2px}.name-slot[data-state=placed]{color:var(--brand);animation:.3s ease-out pop}.choices.name-tiles{--per-row:min(var(--count), 7);--tile-min:60px;--tile-max:130px;--size:clamp(var(--tile-min), min(calc((100vw - 2 * var(--gutter) - var(--gap) * (var(--per-row) - 1)) / var(--per-row)), 18 * var(--vh)), var(--tile-max))}@media (max-height:600px) and (orientation:portrait){.choices.name-tiles{--tile-min:50px}}@media (max-height:500px){.choices.name-tiles{--per-row:var(--count);--tile-min:40px;--tile-max:72px}}.name-tiles .choice[data-used]{visibility:hidden}.choice[data-state=nudge]{animation:.4s ease-in-out shake}.choice[data-hint]{outline:5px solid #ffc23de6;animation:1.6s ease-in-out infinite hint}@supports not (container-type:size){.trace-prompt{--ch:calc(100vh - var(--icon) - 4 * var(--gutter))}}.trace{width:min(100%, calc((var(--room) - 4px) * .8));aspect-ratio:100/125;border-radius:var(--radius);background:var(--surface);height:auto;box-shadow:0 var(--press) 0 var(--edge);touch-action:none}.trace[data-done]{animation:.6s ease-out bounce}.trace-lines line{stroke:var(--line);stroke-width:.8px}.trace-lines .trace-middle{stroke-dasharray:3 3}.trace-lines .trace-base{stroke:#d9c8a6;stroke-width:1.2px}.trace-picture{font-size:18px}.trace-road{fill:none;stroke:#f1e7d4;stroke-width:17px;stroke-linecap:round;stroke-linejoin:round}circle.trace-road{fill:#f1e7d4;stroke:none}.trace-dashes{fill:none;stroke:var(--muted);stroke-opacity:.45;stroke-width:1.5px;stroke-dasharray:3 4;stroke-linecap:round}.trace-ink{fill:none;stroke:var(--brand);stroke-width:10px;stroke-linecap:round;stroke-linejoin:round}.trace-ink-dot{fill:var(--brand)}.trace-start,.trace-head{fill:var(--good);stroke:#fff;stroke-width:2.5px;transform-box:fill-box;transform-origin:50%}.trace-start{animation:1.2s ease-in-out infinite dot-pulse}.trace-guide-dot{fill:var(--sun);opacity:0;pointer-events:none}@keyframes dot-pulse{50%{scale:1.35}}.basket-activity{--item:clamp(44px, min(12vw, 10vh), 96px);--item-gap:clamp(4px, 1vw, 10px);--pile-columns:5;--pile-rows:3;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:clamp(16px,5vh,48px);min-height:0;display:flex}@media (min-width:700px){.basket-activity{--pile-columns:7;--pile-rows:2}}@media (orientation:landscape) and (max-height:500px){.basket-activity{flex-direction:row;gap:clamp(16px,4vw,40px)}}.basket{--size:calc(var(--item) * 2);min-width:min(100%, calc(5 * var(--item) + 4 * var(--item-gap) + 48px));border-radius:var(--radius);background:var(--surface);border:4px dashed #e3d3b2;flex-direction:column;align-items:center;gap:8px;padding:10px 20px 16px;display:flex;position:relative}.basket[data-solved]{border-style:solid;border-color:var(--good);background:var(--good-soft)}.basket-head{font-size:calc(var(--item) * .9);align-items:center;gap:12px;line-height:1;display:flex}.basket-goal{min-width:calc(var(--item) * 1.1);height:calc(var(--item) * 1.1);border-radius:calc(var(--item) * .55);background:var(--brand);color:#fff;font-size:calc(var(--item) * .75);place-items:center;padding:0 8px;font-weight:700;display:grid}.basket-items{grid-template-columns:repeat(5, var(--item));grid-auto-rows:var(--item);align-content:start;gap:var(--item-gap);min-height:calc(3 * var(--item) + 2 * var(--item-gap));display:grid}.basket-item,.pile-item{width:var(--item);aspect-ratio:1;font-size:calc(var(--item) * .78);background:0 0;border:0;border-radius:50%;place-items:center;padding:0;line-height:1;display:grid}.basket-item{animation:.3s ease-out pop}.basket-slot{width:var(--item);aspect-ratio:1;border:4px dashed #ffc23de6;border-radius:50%;animation:1.6s ease-in-out infinite hint}.basket-bottom{justify-content:center;align-items:center;gap:clamp(12px,3vw,32px);max-width:100%;display:flex}.pile{place-content:center;gap:var(--item-gap);width:calc(var(--pile-columns) * var(--item) + (var(--pile-columns) - 1) * var(--item-gap));max-width:100%;height:calc(var(--pile-rows) * var(--item) + (var(--pile-rows) - 1) * var(--item-gap));flex-wrap:wrap;display:flex}.pile-item{cursor:grab;touch-action:none}.pile-item[data-dragging]{z-index:5;cursor:grabbing;filter:drop-shadow(0 6px 6px #2b2a3d40);position:relative;scale:1.25}.done-button{width:calc(var(--icon) * 1.25);aspect-ratio:1;background:var(--good);color:#fff;box-shadow:0 var(--press) 0 #15803d;border:0;border-radius:50%;flex:none;place-items:center;padding:0;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:grid}.done-button svg{stroke-width:3px;width:60%;height:60%}.done-button:active:not(:disabled){transform:translateY(var(--press));box-shadow:0 0 #15803d}.done-button:disabled{opacity:.35;cursor:default}.celebration{text-align:center;justify-content:center;align-items:center;gap:20px;position:relative;overflow:hidden}.sky-card{isolation:isolate;aspect-ratio:1;background:linear-gradient(160deg, var(--night), var(--night-light));width:clamp(140px,30vh,300px);box-shadow:0 var(--press) 0 #00000040;border-radius:32px;place-items:center;animation:.5s ease-out pop;display:grid;position:relative}.sky-card .constellation{width:88%}.sky-card-fonkel{width:60%}.sleepy{justify-content:center;align-items:center;gap:10px;display:flex}.inline-fonkel{flex:none;width:40px;height:40px}.celebration-text{color:var(--muted);font-size:clamp(20px,3.5vw,26px)}.celebration-actions{justify-content:center;gap:clamp(12px,3vw,20px);margin-top:8px;display:flex}.action-tile{white-space:nowrap;width:auto;min-width:min(200px,40vw);padding-inline-start:clamp(16px,3vw,28px);padding-inline-end:clamp(16px,3vw,28px)}.action-tile svg{width:clamp(36px,6vh,48px);height:clamp(36px,6vh,48px)}.burst{z-index:-1;pointer-events:none;position:absolute;top:50%;left:50%}.burst span{background:var(--sun);border-radius:50%;width:18px;height:18px;margin:-9px;animation:1.1s ease-out forwards burst;position:absolute}.burst span:nth-child(3n+1){background:var(--letters)}.burst span:nth-child(3n+2){background:var(--cijfers)}@media (max-height:500px) and (orientation:landscape){.celebration{grid-template-columns:auto minmax(0,28rem);place-content:center;gap:10px 32px;display:grid}.celebration>.sky-card{grid-row:1/span 4;align-self:center;width:min(62vh,240px)}.celebration>:not(.sky-card){grid-column:2}}.night{color:#f6f1ff;background:radial-gradient(2px 2px at 8% 14%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 22% 70%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 35% 32%, #fff8 50%, transparent 51%), radial-gradient(1.5px 1.5px at 48% 88%, #fff 50%, transparent 51%), radial-gradient(2px 2px at 63% 12%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 74% 54%, #fff8 50%, transparent 51%), radial-gradient(2px 2px at 88% 28%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 93% 82%, #fff 50%, transparent 51%), radial-gradient(1.5px 1.5px at 4% 46%, #fff8 50%, transparent 51%), radial-gradient(2px 2px at 56% 62%, #fff8 50%, transparent 51%), linear-gradient(180deg, var(--night), var(--night-light))}.night .icon-button{color:#fff;box-shadow:0 var(--press) 0 #0000004d;background:#3b2f86}.night-title{text-align:center;font-size:clamp(24px,4.5vw,38px)}.night-message{color:var(--night-ink);text-align:center;font-size:clamp(20px,3vw,26px)}.night-message.small{opacity:.8;font-size:16px}.sky-grid{flex-wrap:wrap;justify-content:center;gap:16px;width:100%;max-width:1000px;margin:0 auto;display:flex}.sky-grid li{border-radius:24px;justify-items:center;gap:4px;width:clamp(140px,42vw,220px);padding:10px;display:grid}.sky-grid li[data-current]{background:#ffffff12;outline:2px dashed #ffffff40}.sky-grid .constellation{width:100%}.sky-label{color:var(--night-ink);font-size:18px}.constellation{overflow:visible}.constellation-line{stroke:#ffe28c8c;stroke-width:1.4px;stroke-linecap:round;animation:.6s ease-out both fade-in}.constellation-star{fill:var(--moon);filter:drop-shadow(0 0 2.5px #ffd76ae6);transform-box:fill-box;transform-origin:50%}.constellation-star[data-fresh]{animation:.9s cubic-bezier(.34,1.56,.64,1) .3s both star-arrive}.constellation-dot{fill:#ffffff59}.constellation-animal{opacity:.13;filter:grayscale();transform-box:fill-box;transform-origin:50%}.constellation-animal[data-complete]{opacity:1;filter:none}.constellation-animal[data-fresh]{animation:1s ease-out .2s both animal-arrive}.sleep{text-align:center;align-items:center}.sleep .topbar{align-self:stretch}.sleep-content{justify-items:center;gap:16px;margin-block-start:auto;margin-block-end:auto;display:grid}.sleeping-fonkel{width:clamp(150px,32vh,260px);animation:4s ease-in-out infinite float;position:relative}.zzz{color:var(--night-ink);font-weight:700;position:absolute;top:-12%;right:-22%}.zzz span{opacity:.8;font-size:28px;animation:3s ease-in-out infinite zzz;display:inline-block}.zzz span:nth-child(2){font-size:34px;animation-delay:.6s}.zzz span:nth-child(3){font-size:42px;animation-delay:1.2s}.form-screen{-webkit-user-select:text;user-select:text;align-items:center}.sheet{border-radius:var(--radius);background:var(--surface);width:100%;max-width:640px;box-shadow:0 var(--press) 0 var(--edge);flex-direction:column;gap:20px;padding:clamp(16px,4vw,24px);display:flex}.sheet h1{font-size:30px}.sheet h2{font-size:22px}.sheet-header{align-items:center;gap:12px;display:flex}.sheet-header .icon-button{background:var(--bg)}.field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.field>span,.field legend{padding:0;font-weight:700}.field input:not([type=radio]){border:3px solid var(--line);background:var(--surface);border-radius:16px;width:100%;min-height:56px;padding:0 16px;font-size:24px}.field input:not([type=radio]):focus{border-color:var(--accent);outline:none}.hint{color:var(--muted);font-size:16px}.form-error{color:#c0262d;font-weight:700}.form-screen .field{scroll-margin-top:16px}.field[data-missing] .level-option{border-color:#f0b4b7}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.avatar-picker{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (min-width:600px){.avatar-picker{grid-template-columns:repeat(8,1fr)}}:is(.avatar-option,.level-option,.segmented label){cursor:pointer;position:relative}:is(.avatar-option,.level-option,.segmented label) input{opacity:0;pointer-events:none;position:absolute}:-webkit-any(.avatar-option,.segmented) input:checked+span{border-color:var(--accent);background:var(--accent-soft)}:is(.avatar-option,.segmented) input:checked+span{border-color:var(--accent);background:var(--accent-soft)}.level-option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}:-webkit-any(.avatar-option,.segmented) input:focus-visible+span{outline:4px solid var(--accent);outline-offset:2px}:is(.avatar-option,.segmented) input:focus-visible+span{outline:4px solid var(--accent);outline-offset:2px}.level-option:has(input:focus-visible){outline:4px solid var(--accent);outline-offset:2px}.avatar-option span{aspect-ratio:1;background:var(--bg);border:3px solid #0000;border-radius:16px;place-items:center;font-size:36px;display:grid}.level-picker{gap:10px;display:grid}.level-option{border:3px solid var(--line);border-radius:16px;gap:2px;padding:14px 16px;display:grid}.level-name{font-weight:700}.level-age,.level-description{color:var(--muted);font-size:17px;font-weight:400}.parent-list{gap:8px;display:grid}.parent-list li{background:var(--bg);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 8px 8px 12px;display:flex}.parent-list .avatar{font-size:40px}.parent-list-text{overflow-wrap:anywhere;flex:150px;min-width:0;display:grid}.parent-actions{gap:4px;margin-left:auto;display:flex}.parent-list-text>span{color:var(--muted);font-size:17px}.inline-star{vertical-align:-2px;width:16px;height:16px;fill:var(--sun);color:var(--sun-dark);display:inline}.about{border-top:2px solid var(--line);color:var(--muted);gap:8px;padding-top:8px;font-size:17px;display:grid}.about h2{color:var(--ink);margin-top:8px;font-size:18px}.badge{background:var(--brand-soft);color:var(--brand);border-radius:10px;justify-self:start;margin-top:2px;padding:1px 10px;font-size:14px;font-weight:700}.link-button{color:var(--accent);background:0 0;border:0;padding:0;text-decoration:underline}.segmented{flex-wrap:wrap;gap:8px;display:flex}.segmented span{border:3px solid var(--line);border-radius:999px;padding:10px 16px;font-weight:700;display:block}.progress-summary{color:var(--muted);font-size:17px}.notice{background:var(--brand-soft);border-radius:16px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notice>svg{width:24px;height:24px;color:var(--brand);flex:none;margin-top:2px}.notice .button{margin-top:10px}.notice-actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.notice-actions .button{margin-top:0}.level-advice{width:100%;max-width:640px;margin-inline-start:auto;margin-inline-end:auto}.voice-steps{counter-reset:step;gap:12px;margin:12px 0 10px;display:grid}.voice-steps li{counter-increment:step;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:6px 10px;display:grid}.voice-steps li:before{content:counter(step);background:var(--brand);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;margin-top:1px;font-size:13px;font-weight:700;line-height:1;display:grid}.voice-steps p{margin:0;font-size:15px;line-height:1.4}.voice-steps img{border-radius:14px;grid-column:2;width:min(100%,300px);height:auto;box-shadow:0 0 0 1px #0000000f,0 2px 6px #0000000f}.android-shot{color:#1b1b1f;background:#fdfbff;border-radius:14px;grid-column:2;width:min(100%,300px);font-family:Roboto,Google Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:15px;display:block;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 2px 6px #0000000f}.android-row{align-items:center;gap:10px;min-height:48px;padding:10px 14px;display:flex}.android-section{color:#0b57d0;padding:12px 14px 0;font-size:13px;font-weight:500;display:block}.android-name{flex:1;min-width:0}.android-radio{background:#0b57d0;border:2px solid #0b57d0;border-radius:50%;flex:none;width:18px;height:18px;box-shadow:inset 0 0 0 3px #fdfbff}.android-gear{color:#0b57d0;box-sizing:content-box;border-radius:50%;outline:2px solid #0b57d066;flex:none;width:22px;height:22px;padding:6px}.notice.tip{background:#fff4d6}.notice.tip>svg{color:var(--sun-dark)}.progress-section{gap:6px;display:grid}.progress-section p{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.progress-label{min-width:90px;color:var(--muted);font-size:16px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--good-soft);color:#166534;text-align:center;border-radius:999px;min-width:36px;padding:2px 10px;font-weight:700}.chip[data-practicing]{color:#9a3412;background:#ffe8d6}.notice .hint,.notice p+p{margin-top:6px}.form-screen>.notice{width:100%;max-width:640px}.welcome-screen{text-align:center;justify-content:center;align-items:center;gap:clamp(20px,4vh,40px)}.welcome-hero{justify-items:center;gap:10px;max-width:640px;display:grid}.welcome-hero h1{margin:0;padding-inline-start:.15em;padding-inline-end:.15em}.welcome-hero .logo{font-size:clamp(44px,10vw,68px)}.welcome-hero .logo-mark{display:none}.welcome-fonkel{animation:4s ease-in-out infinite float;position:relative}.welcome-star{width:clamp(110px,26vw,160px);height:auto;rotate:-8deg}.welcome-bubble{background:var(--surface);box-shadow:0 3px 0 var(--edge);color:var(--brand);border-radius:18px 18px 18px 4px;padding:6px 14px;font-size:clamp(18px,4vw,24px);font-weight:700;position:absolute;top:-6px;right:-46px;rotate:6deg}.welcome-tagline{color:var(--muted);margin:0;font-size:clamp(18px,2.6vw,24px)}.welcome-games{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.welcome-game{aspect-ratio:1;background:var(--subject);color:#fff;border-radius:14px;place-items:center;width:clamp(42px,10vw,60px);font-size:clamp(15px,3.6vw,21px);font-weight:700;display:grid;box-shadow:0 3px #0000002e}.welcome-game.picture{font-size:clamp(22px,5.6vw,32px)}.welcome-game:nth-child(odd){rotate:-5deg}.welcome-game:nth-child(2n){translate:0 4px;rotate:4deg}.welcome-points{text-align:left;gap:12px;width:100%;max-width:760px;display:grid}@media (min-width:700px){.welcome-points{grid-template-columns:1fr 1fr}}.welcome-point{border-radius:var(--radius);background:var(--surface);box-shadow:0 3px 0 var(--edge);grid-template-columns:auto 1fr;align-content:start;gap:4px 14px;padding:16px;display:grid}.welcome-point svg{background:var(--brand-soft);width:46px;height:46px;color:var(--brand);border-radius:14px;grid-row:span 2;padding:11px}.welcome-point h2{margin:0;font-size:18px}.welcome-point p{color:var(--muted);margin:0;font-size:15px;line-height:1.45}.welcome-footer{justify-items:center;gap:10px;width:100%;max-width:420px;display:grid}.welcome-start{width:100%;font-size:20px}.welcome-note{color:var(--muted);margin:0;font-size:15px}.overlay{z-index:10;padding:var(--gutter);background:#2b2a3d73;place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.overlay .sheet{max-width:420px}.leave{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,3vw,24px);width:min(100%,580px);animation:.3s ease-out pop;display:grid}.leave .action-tile{white-space:normal;min-width:0;padding-inline-start:12px;padding-inline-end:12px}.leave-stay{background:var(--good);color:#fff;box-shadow:0 var(--press) 0 #15803d}@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes star-arrive{0%{transform:scale(0)rotate(-120deg)}60%{transform:scale(2.4)rotate(15deg)}to{transform:scale(1)rotate(0)}}@keyframes animal-arrive{0%{opacity:.13;transform:scale(.8)}60%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes fade-in{0%{opacity:0}}@keyframes float{50%{translate:0 -10px}}@keyframes zzz{0%{opacity:0;translate:0 10px}30%,70%{opacity:1}to{opacity:0;translate:12px -24px}}@keyframes star-pop{0%{transform:scale(.3)rotate(-90deg)}60%{transform:scale(1.8)rotate(10deg)}to{transform:scale(1)rotate(0)}}@keyframes confetti{0%{opacity:1;transform:rotate(var(--angle)) translateY(0) scale(.4)}70%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(calc(var(--size) * var(--distance) * -1)) rotate(var(--spin)) scale(1)}}@keyframes hop{0%{opacity:0;transform:translateY(40%)scale(.3)}20%{opacity:1;transform:translateY(-45%)scale(1.05)}38%{transform:translateY(0)scale(1.1,.85)}55%{transform:translateY(-25%)scale(.95,1.05)}70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(0)scale(1)}}@keyframes hint{50%{scale:1.06}}@keyframes bounce{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-14px)scale(1.06)}}@keyframes shake{0%,to{translate:0}20%,60%{translate:-10px}40%,80%{translate:10px}}@keyframes breathe{0%,to{scale:1}50%{scale:1.06}}@keyframes burst{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-36vmin)scale(.4)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.burst,.cheer{display:none}}
