/* Klimba: gezin op dit apparaat (kindkiezer, knop bovenin, ouderscherm) */

/* kiezer: grote klimmers, past ook op 360x640; bij veel kinderen scrolt alleen het raster */
.kp-card{max-width:560px;align-items:center}
.kp-card h3{font-size:clamp(22px,min(6vw,3.8vh),34px)}
.kp-lede{margin:0;font-weight:700;font-size:clamp(14px,1.9vh,18px);line-height:1.35;max-width:36ch}
.kp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(104px,26vw,150px),1fr));gap:clamp(10px,1.6vh,16px);
  width:100%;min-height:0;overflow-y:auto;padding:6px 4px 8px;scrollbar-width:none}
.kp-grid::-webkit-scrollbar{display:none}
.kp-kid{border:3px solid transparent;background:#fff;border-radius:clamp(18px,2.6vh,26px);box-shadow:0 5px 0 rgba(35,48,82,.12);cursor:pointer;
  font-family:inherit;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:2px;padding:clamp(8px,1.2vh,12px) 6px}
.kp-kid:active{transform:translateY(3px)}
.kp-kid.on{border-color:var(--grass)}
.kp-kid svg{width:100%;max-width:clamp(70px,13vh,120px);height:auto;background:radial-gradient(circle at 50% 62%,#fff1b8 0 55%,transparent 56%)}
.kp-kid b{font-family:"Baloo 2",sans-serif;font-weight:800;font-size:clamp(18px,min(5vw,2.8vh),26px);line-height:1.1;
  max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kp-none{grid-column:1 / -1;justify-self:center}
.kp-remember{display:flex;align-items:center;gap:8px;font-weight:800;font-size:clamp(14px,1.9vh,18px);cursor:pointer}
.kp-remember input{width:22px;height:22px;accent-color:var(--grass)}

/* ouderscherm */
.fam-code{max-width:200px;text-transform:uppercase;letter-spacing:.12em}
.fam-pin{max-width:150px;letter-spacing:.2em}
#famMsg,#pinMsg{font-weight:700}

/* welkom (geen account, geen spel) en account dicht */
.w-card{max-width:420px;align-items:center;overflow-y:auto}
.w-card h3{font-size:clamp(24px,4vh,34px)}
.w-lede{margin:0;font-weight:700;font-size:clamp(14px,1.9vh,18px);line-height:1.4;max-width:34ch}
.w-form{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.2vh,12px);width:100%}
.w-input{max-width:320px;font-size:clamp(17px,2.4vh,22px)}
.w-msg{margin:0;min-height:1.3em;font-weight:800;color:#d6336c;font-size:clamp(13px,1.8vh,17px)}
.w-msg.ok{color:#1f8355}
@media(max-height:680px){.w-card .np-kid{display:none}}
/* kinderen als rij die centreert: een oneven laatste kind staat in het midden (Mark, 28-09-2026) */
.kp-grid{display:flex;flex-wrap:wrap;justify-content:center;align-content:flex-start}
.kp-grid .kp-kid{flex:0 0 clamp(130px,22vw,170px)}
@media(max-width:520px){.kp-grid .kp-kid{flex-basis:calc(50% - clamp(10px,1.6vh,16px) / 2)}}
.kp-grid .kp-none{flex:0 0 100%}
.linkbtn.wprivacy{font-size:12px;opacity:.75;padding:2px 6px}

/* Slotscherm: de klimmer wandelt heen en weer (rustige modus en minder beweging: stil) */
.lk-card{align-items:center;text-align:center}
.lk-stage{position:relative;width:100%;max-width:280px;height:clamp(90px,16vh,130px);overflow:hidden;margin:0 auto 4px}
.lk-ground{position:absolute;left:0;right:0;bottom:4px;height:10px;border-radius:99px;background:#d8f0dd}
.lk-walk{position:absolute;bottom:8px;left:50%;width:auto;height:88%;transform:translateX(-50%);animation:lkPace 7s ease-in-out infinite alternate}
.lk-walk .legL{transform-origin:-4px -12px;animation:lkLeg .5s ease-in-out infinite alternate}
.lk-walk .legR{transform-origin:4px -12px;animation:lkLeg .5s ease-in-out infinite alternate-reverse}
.lk-walk .armL{transform-origin:-8px -22px;animation:lkArm .5s ease-in-out infinite alternate-reverse}
.lk-walk .armR{transform-origin:8px -22px;animation:lkArm .5s ease-in-out infinite alternate}
@keyframes lkPace{from{transform:translateX(-150%)}to{transform:translateX(50%)}}
@keyframes lkLeg{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
@keyframes lkArm{from{transform:rotate(-18deg)}to{transform:rotate(18deg)}}
#locked.calm .lk-walk,#locked.calm .lk-walk g,body.calm #locked .lk-walk,body.calm #locked .lk-walk g{animation:none!important}
@media (prefers-reduced-motion:reduce){.lk-walk,.lk-walk g{animation:none!important}}
