/* Jesus para Crianças — kids area v2 (DESIGN.md §4, Duolingo style). R10: big, colorful, visual, read-aloud.
   Tokens: brand.md v2 (H14). */
@font-face{font-family:"Fredoka";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/fredoka-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Fredoka";font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/fredoka-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Nunito";font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/nunito-latin-800-normal.woff2) format("woff2")}

.kz,.kz-spark{
  --kn:#0B2140;--kb:#0B3B7A;--ks:#6FCDF0;--ky:#FFD400;--kyd:#D9A800;--kr:#E8323C;--krd:#B01E27;--kg:#33B44A;--kgd:#1D7A30;
  --kbl:#1CB0F6;--kbld:#1288C2;--kp:#9B5DE5;--kpd:#6F35B8;--ko:#F59E0B;--kod:#C47A00;--kw:#FFFFFF;--kc:#FFF3D6;
  --kl:#E5E8EE;--kld:#CFD5DE;--km:#4A5A73;
  font-family:"Fredoka",system-ui,sans-serif;font-weight:700;color:var(--kn);
  -webkit-tap-highlight-color:transparent;box-sizing:border-box}
.kz *{box-sizing:border-box}
.kz button{font-family:inherit;font-weight:inherit;color:inherit;cursor:pointer}
html.kz-lock,html.kz-lock body{overflow:hidden!important}
.kz-i{display:block;width:100%;height:100%;overflow:visible}

/* containers */
.kz-ov{position:fixed;inset:0;z-index:2147483000;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#fff}
.kz-inline{position:relative;border:2px solid var(--kl);border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 5px 0 var(--kl)}
.kz-in{max-width:720px;margin:0 auto;padding:12px 16px 0;min-height:100%;display:flex;flex-direction:column;gap:14px;outline:none;position:relative}
.kz-inline .kz-in{min-height:0;padding-bottom:16px}
.kz-body{display:flex;flex-direction:column;gap:14px;flex:1;padding-bottom:12px}

/* chunky buttons */
.kz-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:60px;min-width:60px;padding:0 20px;
  border:2px solid var(--kl);border-radius:18px;background:#fff;box-shadow:0 5px 0 var(--kl);
  font-size:22px;line-height:1.1;transition:transform .08s,box-shadow .08s;touch-action:manipulation;user-select:none}
.kz-btn:active,.kz-opt:active,.kz-node:active,.kz-tile:active,.kz-gtile:active,.kz-tab:active{transform:translateY(4px);box-shadow:0 1px 0 var(--kl)}
.kz :focus-visible{outline:4px solid var(--kbl);outline-offset:3px}
.kz-btn:disabled{opacity:.4;cursor:default}
.kz-btn .kz-i{width:30px;height:30px;flex:none}
.kz-y{background:var(--ky);border-color:var(--ky);box-shadow:0 5px 0 var(--kyd)}
.kz-g{background:var(--kg);border-color:var(--kg);box-shadow:0 5px 0 var(--kgd);color:#fff!important}
.kz-r{background:var(--kr);border-color:var(--kr);box-shadow:0 5px 0 var(--krd);color:#fff!important}
.kz-s{background:var(--kbl);border-color:var(--kbl);box-shadow:0 5px 0 var(--kbld);color:#fff!important}
.kz-b{background:var(--kb);border-color:var(--kb);box-shadow:0 5px 0 var(--kn);color:#fff!important}
.kz-w,.kz-c{background:#fff}
.kz-g .kz-i path,.kz-r .kz-i path,.kz-s .kz-i path{stroke:#fff}
.kz-act{min-height:64px;font-size:22px;width:100%;border-radius:18px;padding:6px 18px}
.kz-act .kz-i{width:34px;height:34px}
.kz-cont{flex:1;min-height:60px;font-size:22px;letter-spacing:.5px;text-transform:uppercase;border-radius:18px}

/* speaker (read aloud) */
.kz-spk{flex:none;width:54px;height:54px;border-radius:14px;border:0;background:var(--kbl);box-shadow:0 4px 0 var(--kbld);padding:11px;display:inline-flex;align-items:center;justify-content:center}
.kz-spk .kz-i path{stroke:#fff}
.kz-spk .kz-i path:first-child{fill:#fff}
.kz-spk:active{transform:translateY(3px);box-shadow:0 1px 0 var(--kbld)}
.kz-nov .kz-spk,.kz-nov [data-kids-say]{display:none!important}
.kz-talk{animation:kz-pulse .9s ease-in-out infinite}

/* top bar: ✕ + progress */
.kz-top{display:flex;align-items:center;gap:14px;min-height:56px}
.kz-x{flex:none;width:48px;height:48px;border:0;background:none;padding:10px;border-radius:12px}
.kz-x .kz-i path{stroke:#AFB6C1}
.kz-pb{flex:1;height:18px;background:var(--kl);border-radius:99px;overflow:hidden}
.kz-pb i{display:block;height:100%;background:var(--kg);border-radius:99px;position:relative;transition:width .35s ease}
.kz-pb i::after{content:"";position:absolute;left:10px;right:10px;top:4px;height:5px;border-radius:9px;background:rgba(255,255,255,.35)}
.kz-pb-off{visibility:hidden}
.kz-top-r{display:flex;align-items:center;gap:8px}
.kz-top-st{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:22px;color:var(--kyd)}
.kz-top-st .kz-i{width:28px;height:28px}

/* bottom bar (CONTINUAR) */
.kz-bottom{position:sticky;bottom:0;display:flex;gap:12px;padding:14px 0 calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,#fff 18%);margin-top:auto;z-index:2}
.kz-prev{flex:none;width:72px;padding:0}
.kz-prev .kz-i{width:28px;height:28px}
.kz-inline .kz-bottom{position:relative;padding-bottom:4px}

/* labels */
.kz-lab{margin:0;font-size:15px;letter-spacing:.6px;color:var(--kp)}
.kz-ttl{margin:0;font-size:clamp(24px,6.6vw,32px);line-height:1.15}

/* ---------- story ---------- */
.kz-story{gap:12px}
.kz-pic{width:100%;aspect-ratio:16/9;border:2px solid var(--kl);border-radius:20px;overflow:hidden;background:var(--kc);touch-action:pan-y}
.kz-pic img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.kz-pic.kz-enter{animation:kz-slide .35s ease-out}
.kz-line{display:flex;gap:14px;align-items:flex-start}
.kz-line-t{margin:0;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:clamp(21px,5.8vw,28px);line-height:1.35}

/* ---------- quiz ---------- */
.kz-ask{display:flex;gap:10px;align-items:center}
.kz-lion-q{height:110px;width:auto;flex:none}
.kz-ask-b{flex:1;display:flex;gap:12px;align-items:center;border:2px solid var(--kl);border-radius:18px;padding:12px 14px;position:relative}
.kz-ask-b::before{content:"";position:absolute;left:-11px;top:50%;margin-top:-10px;border:10px solid transparent;border-right-color:var(--kl);border-left:0}
.kz-q-t{margin:0;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:clamp(19px,5.2vw,24px);line-height:1.3}
.kz-ask-b .kz-spk{width:44px;height:44px;padding:9px;border-radius:12px}
.kz-q-pic{border:2px solid var(--kl);border-radius:18px;overflow:hidden;aspect-ratio:16/9;max-height:22vh}
.kz-q-pic img{width:100%;height:100%;object-fit:cover;display:block}
.kz-opts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kz-n3 .kz-opt:last-child:nth-child(odd){grid-column:1 / -1;max-width:calc(50% - 7px);justify-self:center;width:100%}
.kz-opt{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:168px;padding:14px 10px;border:2px solid var(--kl);border-radius:20px;background:#fff;box-shadow:0 5px 0 var(--kl);transition:transform .12s,box-shadow .12s,opacity .2s}
.kz-opt-pic{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0 2px;max-width:150px;min-height:72px}
.kz-opt-pic .kz-i{width:44px;height:44px}
.kz-k1 .kz-i{width:76px;height:76px}.kz-k3 .kz-i{width:50px;height:50px}.kz-many .kz-i{width:30px;height:30px}
.kz-opt-pic img{width:100%;max-height:96px;object-fit:cover;border-radius:12px}
.kz-opt-l{font-size:clamp(18px,5vw,22px);line-height:1.1;text-align:center}
.kz-picked{border-color:var(--kbl);background:#DDF4FF;box-shadow:0 5px 0 var(--kbl);color:var(--kbld)}
.kz-ok{border-color:var(--kg);background:#D7FFB8;box-shadow:0 5px 0 var(--kgd);color:#3A8A00}
.kz-no{border-color:var(--kr);background:#FFDFE0;box-shadow:0 5px 0 var(--krd);color:var(--krd);animation:kz-shake .45s}
.kz-dim{opacity:.4}
/* feedback sheet */
.kz-sheet-host{position:sticky;bottom:0;z-index:3;margin:0 -16px}
.kz-sheet{padding:18px 16px calc(20px + env(safe-area-inset-bottom,0px));animation:kz-up .25s ease-out}
.kz-sh-ok{background:#D7FFB8;color:#3A8A00}
.kz-sh-no{background:#FFDFE0;color:var(--krd)}
.kz-sh-h{display:flex;align-items:center;gap:12px}
.kz-sh-h b{flex:1;font-size:28px}
.kz-sh-i{width:46px;height:46px;border-radius:50%;background:#fff;padding:9px;flex:none}
.kz-sh-ok .kz-sh-i path{stroke:var(--kg)}
.kz-sh-no .kz-sh-i path{stroke:var(--kr)}
.kz-sh-p{margin:8px 0 14px;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:18px;line-height:1.35}
.kz-sheet .kz-cont{width:100%}

/* ---------- celebration ---------- */
.kz-end{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding-top:6px;position:relative}
.kz-conf{position:absolute;inset:0;pointer-events:none}
.kz-conf .kz-i{position:absolute;width:30px;height:30px}
.kz-conf .kz-i:nth-child(1){left:6%;top:4%}.kz-conf .kz-i:nth-child(2){right:10%;top:16%;width:24px;height:24px}.kz-conf .kz-i:nth-child(3){left:14%;top:36%;width:20px;height:20px}
.kz-end .kz-lion-end{height:170px;width:auto;align-self:center}
.kz-end-t{margin:0;font-size:clamp(30px,8.6vw,40px);line-height:1.08;color:var(--kyd)}
.kz-end-s{margin:0;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:18px;color:var(--km);max-width:30ch}
.kz-boxes{display:flex;gap:12px;width:100%;max-width:420px}
.kz-box{flex:1;border:2px solid;border-radius:16px;overflow:hidden}
.kz-box b{display:block;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:13px;letter-spacing:.6px;padding:5px;color:#fff}
.kz-box span{display:flex;align-items:center;justify-content:center;gap:6px;font-size:26px;padding:10px}
.kz-box span .kz-i{width:28px;height:28px}
.kz-box-y{border-color:var(--ky)}.kz-box-y b{background:var(--ky);color:var(--kn)}.kz-box-y span{color:var(--kyd)}
.kz-box-g{border-color:var(--kg)}.kz-box-g b{background:var(--kg)}.kz-box-g span{color:var(--kg)}
.kz-unlock{display:flex;align-items:center;gap:12px;width:100%;max-width:420px;border:2px dashed var(--kp);border-radius:16px;background:#fff;padding:12px 14px;font-size:20px;color:var(--kpd);text-align:left}
.kz-unlock .kz-i{width:40px;height:40px;flex:none}
.kz-acts{display:flex;flex-direction:column;gap:12px;width:100%;max-width:420px}
.kz-acts .kz-act{min-height:56px;font-size:19px}

/* ---------- Biblioteca (kids home) ---------- */
.kz-lib{background:#EAF8FE;max-width:none;padding:12px max(16px,calc(50% - 360px)) 90px}
.kz-ov:has(.kz-lib){background:#EAF8FE}
.kz-hi{display:flex;align-items:center;gap:10px}
.kz-lion-sm{height:96px;width:auto;flex:none}
.kz-hi-b{flex:1;display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:12px 14px;box-shadow:0 4px 0 #CFE3EC}
.kz-hi-b p{margin:0;flex:1;font-size:clamp(20px,5.6vw,26px);line-height:1.15}
.kz-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kz-tab{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:0;border-radius:16px;background:#fff;box-shadow:0 4px 0 #CFE3EC;font-size:17px}
.kz-tab .kz-i{width:38px;height:38px}
.kz-tab.on{background:var(--ky);box-shadow:0 4px 0 var(--kyd)}
.kz-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.kz-tile{display:flex;flex-direction:column;text-align:left;padding:0;border:0;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 5px 0 #CFE3EC}
.kz-tile img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.kz-tile-t{padding:8px 10px 2px;font-size:17px;line-height:1.15}
.kz-tile-st{display:flex;gap:2px;padding:4px 10px 10px}
.kz-tile-st i{width:20px;height:20px;display:block}
.kz-tile-st i path{fill:var(--kl)}
.kz-tile-st i.on path{fill:var(--ky)}
.kz-tile small{display:block;padding:2px 10px 10px;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:13px;color:var(--km)}
.kz-tile-soon{background:#FFF6DA;box-shadow:0 5px 0 #EADDB0}
.kz-tile-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;padding:22%}
.kz-gtile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;border:0;border-radius:20px;font-size:21px;color:#fff}
.kz-gtile .kz-i{width:64px;height:64px}
.kz-gt-quiz{background:var(--kp);box-shadow:0 6px 0 var(--kpd)}
.kz-gt-wordsearch{background:var(--kbl);box-shadow:0 6px 0 var(--kbld)}
.kz-gt-memory{background:var(--kg);box-shadow:0 6px 0 var(--kgd)}
.kz-sair{position:fixed;left:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;gap:6px;align-items:center;border:2px solid #CFE3EC;background:#fff;border-radius:14px;padding:8px 14px;font-size:17px;color:var(--km);z-index:4}

/* ---------- Trilha (path) ---------- */
.kz-unit{display:flex;align-items:center;gap:12px;background:var(--kg);color:#fff;border-radius:18px;box-shadow:0 5px 0 var(--kgd);padding:12px 14px 12px 18px}
.kz-unit div{flex:1;min-width:0}
.kz-unit small{display:block;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:13px;letter-spacing:.6px;opacity:.9}
.kz-unit b{display:block;font-size:clamp(21px,5.8vw,26px);line-height:1.15}
.kz-unit .kz-spk{background:rgba(255,255,255,.18);box-shadow:none;border:2px solid rgba(255,255,255,.5)}
.kz-path{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px;padding:26px 0 40px}
.kz-node-w{display:flex;flex-direction:column;align-items:center;gap:8px;transform:translateX(var(--dx,0));position:relative}
.kz-node{width:86px;height:80px;border-radius:50%;border:0;padding:18px;background:var(--kl);box-shadow:0 7px 0 var(--kld)}
.kz-done .kz-node{background:var(--ky);box-shadow:0 7px 0 var(--kyd)}
.kz-cur .kz-node{background:var(--kg);box-shadow:0 7px 0 var(--kgd);outline:6px solid var(--kl);outline-offset:8px}
.kz-cur .kz-node .kz-i path{stroke:#fff}
.kz-node-l{font-size:16px;color:var(--km)}
.kz-cur .kz-node-l{color:var(--kn)}
.kz-node-tip{position:absolute;top:-46px;background:#fff;border:2px solid var(--kl);border-radius:12px;padding:5px 12px;font-size:16px;color:var(--kg);white-space:nowrap;animation:kz-bob 1.6s ease-in-out infinite}
.kz-node-tip::after{content:"";position:absolute;left:50%;bottom:-9px;margin-left:-8px;border:8px solid transparent;border-top-color:var(--kl);border-bottom:0}
.kz-cur{margin-top:40px}
.kz-path-lion{position:absolute;right:0;top:120px;height:120px;width:auto}
.kz-path-say{position:absolute;right:0;top:80px;background:#fff;border:2px solid var(--kl);border-radius:14px;padding:6px 10px;font-size:16px}

/* ---------- color ---------- */
.kz-color{align-items:center}
.kz-canvas{width:min(100%,calc((100dvh - 430px) * 16 / 9));min-width:min(100%,480px);border:2px solid var(--kl);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 5px 0 var(--kl)}
.kz-canvas canvas{display:block;width:100%;height:auto;touch-action:none;cursor:crosshair}
.kz-pal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 9px;max-width:640px}
.kz-dot{width:60px;height:60px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--kl),0 4px 0 var(--kld);padding:0;transition:transform .12s}
.kz-dot.on{transform:scale(1.12);box-shadow:0 0 0 4px var(--kn),0 4px 0 var(--kld)}
.kz-done{max-width:420px}
.kz-undo{width:auto;min-height:52px;font-size:18px;padding:0 14px 0 10px}
.kz-undo .kz-i{width:26px;height:26px}
.kz-done-lay{position:fixed;inset:0;z-index:2147483001;overflow-y:auto;padding:24px 16px;background:#fff}
.kz-done-lay .kz-end{max-width:720px;margin:0 auto}
.kz-shot{width:min(100%,calc((100dvh - 430px) * 16 / 9));min-width:min(100%,300px);max-width:600px;border:8px solid #fff;border-radius:20px;overflow:hidden;background:#fff;transform:rotate(-2deg);box-shadow:0 10px 26px rgba(11,33,64,.2)}
.kz-shot img{display:block;width:100%}
.kz-done-lay .kz-lion-end{height:140px}

/* help line (games) */
.kz-help{display:flex;align-items:center;justify-content:center;gap:12px;text-align:left}
.kz-help p{margin:0;font-size:clamp(20px,5.6vw,26px);line-height:1.2}

/* Leãozinho + bubble (games) */
.kz-lion{display:block;height:130px;width:auto;flex:none;align-self:flex-end;transform-origin:50% 100%;animation:kz-sway 4s ease-in-out infinite}
.kz-hop{animation:kz-hop .8s ease-out}
.kz-wait{margin:30vh auto 0;height:180px}
.kz-foot{display:flex;align-items:flex-end;gap:12px;margin-top:auto}
.kz-bubble{flex:1;min-width:0;background:#fff;border:2px solid var(--kl);border-radius:18px;padding:12px 16px;font-size:21px;line-height:1.2;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;position:relative;margin-bottom:24px}
.kz-bubble.on{opacity:1;transform:none}
.kz-bubble p{margin:0}
.kz-good{color:var(--kgd)}
.kz-nextq{margin-top:12px;min-height:60px}
.kz-stars{display:flex;gap:2px}.kz-star{width:30px;height:30px;display:block}.kz-star path{fill:var(--kl)}.kz-star.on path{fill:var(--ky)}

/* ---------- word search ---------- */
.kz-ws{align-items:center}
.kz-gridwrap{position:relative;width:min(100%,calc(100dvh - 400px));min-width:min(100%,330px);aspect-ratio:1;background:#fff;border:2px solid var(--kl);border-radius:20px;container-type:inline-size;box-shadow:0 5px 0 var(--kl)}
.kz-grid{position:absolute;inset:0;display:grid;touch-action:none;user-select:none;padding:1.5%}
.kz-g8{grid-template-columns:repeat(8,1fr);font-size:7.6cqw}
.kz-g10{grid-template-columns:repeat(10,1fr);font-size:6.2cqw}
.kz-cell{display:flex;align-items:center;justify-content:center;cursor:pointer;line-height:1}
.kz-pills{position:absolute;inset:1.5%;pointer-events:none}
.kz-pill{position:absolute;border-radius:999px;border:3px solid var(--kn)}
.kz-sel.kz-pill{border-style:dashed}
.kz-got{opacity:.85;animation:kz-pop .35s}
.kz-words{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%}
.kz-word{font-size:20px;min-height:56px;padding:4px 14px 4px 8px;border-radius:16px}
.kz-word-pic{display:flex;height:42px}
.kz-word-pic .kz-i{width:42px;height:42px}
.kz-word.on{background:#D7FFB8;border-color:var(--kg);box-shadow:0 5px 0 var(--kgd)}
.kz-shake{animation:kz-shake .4s}
.kz-ws .kz-foot{width:100%}
.kz-ws .kz-lion{height:100px}

/* ---------- memory ---------- */
.kz-mem{align-items:center}
.kz-levels{display:flex;flex-direction:column;gap:16px;width:100%;max-width:520px}
.kz-level{min-height:96px;justify-content:flex-start;gap:20px;padding:12px 22px}
.kz-mini{display:grid;grid-template-columns:repeat(var(--c),14px);gap:4px}
.kz-mini i{width:14px;height:14px;border-radius:4px;background:#fff;opacity:.85}
.kz-cards{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:10px;width:min(100%,calc((100dvh - 290px) * var(--cols) / var(--rows)));min-width:min(100%,300px)}
.kz-card{container-type:inline-size;aspect-ratio:1;padding:0;border:0;background:none;perspective:700px;min-width:0}
.kz-card-in{display:block;position:relative;width:100%;height:100%;transition:transform .45s;transform-style:preserve-3d}
.kz-card.up .kz-card-in{transform:rotateY(180deg)}
.kz-card .kz-back,.kz-face{position:absolute;inset:0;border-radius:16px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
.kz-card .kz-back{background:var(--kbl);display:flex;align-items:center;justify-content:center;box-shadow:0 5px 0 var(--kbld);width:auto}
.kz-card .kz-back .kz-i{width:52%;height:52%}
.kz-face{background:#fff;border:2px solid var(--kl);transform:rotateY(180deg);display:flex;flex-direction:column;box-shadow:0 5px 0 var(--kl)}
.kz-face img{flex:1;min-height:0;width:100%;object-fit:cover;display:block}
.kz-face-i{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:8%;background:var(--kc)}
.kz-face-l{flex:none;font-size:14cqw;line-height:1.1;padding:3px 2px;background:#fff;border-top:2px solid var(--kl);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kz-match .kz-face{border-color:var(--kg);box-shadow:0 5px 0 var(--kgd)}
.kz-mem .kz-foot{width:100%}
.kz-mem .kz-lion{height:110px}

/* ---------- gate ---------- */
.kz-gate{position:fixed;inset:0;z-index:2147483002;background:rgba(11,33,64,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.kz-gate-card{position:relative;background:#fff;border-radius:24px;padding:28px 20px 22px;max-width:420px;width:100%;text-align:center;box-shadow:0 8px 0 rgba(0,0,0,.15)}
.kz-gate-q{margin:26px 8px 18px;font-family:"Nunito",system-ui,sans-serif;font-weight:800;font-size:21px;line-height:1.3}
.kz-gate-opts{display:flex;justify-content:center;gap:14px}
.kz-gate-n{width:84px;height:84px;font-size:36px;padding:0}
.kz-gate-m{min-height:1.3em;margin:14px 0 0;color:var(--kr);font-size:19px}
.kz-gate-x{position:absolute;top:8px;right:8px}

/* sparks */
.kz-spark{position:fixed;z-index:2147483003;width:34px;height:34px;pointer-events:none;animation:kz-fly .9s ease-out forwards}

@media (min-width:700px){
  .kz-opts{grid-template-columns:repeat(var(--n,3),1fr)}
  .kz-n2{--n:2}.kz-n4{--n:4}
  .kz-n3 .kz-opt:last-child:nth-child(odd){grid-column:auto;max-width:none}
  .kz-opt{min-height:200px}
  .kz-tiles{grid-template-columns:repeat(4,1fr)}
  .kz-gtile{min-height:180px}
  .kz-acts{flex-direction:row}
  .kz-end .kz-lion-end{height:200px}
  .kz-path-lion{right:40px;height:150px}
  .kz-path-say{right:40px}
  .kz-levels{flex-direction:row;max-width:none}
  .kz-level{flex:1;flex-direction:column;justify-content:center;min-height:160px}
}
@media (min-width:900px) and (orientation:landscape){
  .kz-ws{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"help help" "grid words" "grid foot";align-items:start;column-gap:24px}
  .kz-ws .kz-help{grid-area:help}
  .kz-ws .kz-gridwrap{grid-area:grid;width:min(540px,calc(100dvh - 250px))}
  .kz-ws .kz-words{grid-area:words;justify-content:flex-start}
  .kz-ws .kz-foot{grid-area:foot;align-self:end}
}

@keyframes kz-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes kz-hop{0%,100%{transform:none}30%{transform:translateY(-28px) rotate(-6deg)}60%{transform:translateY(0) rotate(4deg)}80%{transform:translateY(-8px)}}
@keyframes kz-sway{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes kz-shake{0%,100%{transform:none}20%{transform:translateX(-10px)}40%{transform:translateX(10px)}60%{transform:translateX(-6px)}80%{transform:translateX(6px)}}
@keyframes kz-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes kz-slide{from{opacity:.3;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes kz-up{from{transform:translateY(100%)}to{transform:none}}
@keyframes kz-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes kz-fly{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.1) rotate(160deg)}}
@media (prefers-reduced-motion:reduce){.kz *,.kz-spark{animation:none!important;transition:none!important}}
