html,body{margin:0;padding:0;min-height:100%;background:var(--pk-bg);color:var(--pk-text, #332D3A);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}body{overscroll-behavior:none;-webkit-text-size-adjust:100%}#root{min-height:100dvh}[data-child],[data-child] *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pk-auth{min-height:100dvh;display:grid;align-content:start;justify-items:center;gap:1.25rem;padding:max(2rem,env(safe-area-inset-top)) 1.25rem 2.5rem;box-sizing:border-box;text-align:center}.pk-auth-logo{width:min(60vw,220px);height:auto;margin-top:6vh}.pk-auth h1{margin:0;font-size:1.5rem;font-weight:700;color:var(--pk-purple-deep)}.pk-auth p{margin:0;max-width:32ch;line-height:1.5;color:var(--pk-text-soft)}.pk-auth form,.pk-auth-actions{width:100%;max-width:360px;display:grid;gap:1rem;text-align:left}.pk-field{display:grid;gap:.4rem}.pk-field span{font-size:.9rem;font-weight:600;color:var(--pk-text)}.pk-field input{width:100%;box-sizing:border-box;padding:.9rem 1rem;font-size:1rem;font-family:inherit;color:var(--pk-text);background:var(--pk-surface);border:2px solid var(--pk-beige);border-radius:14px;transition:border-color .12s ease}.pk-field input:focus{outline:none;border-color:var(--pk-purple-soft)}.pk-btn{width:100%;padding:1rem 1.5rem;font-size:1rem;font-family:inherit;font-weight:700;color:var(--pk-white-warm);background:var(--pk-purple);border:none;border-radius:16px;cursor:pointer;transition:background .12s ease}.pk-btn:active{background:var(--pk-purple-deep)}.pk-btn:disabled{opacity:.55;cursor:default}.pk-btn-quiet{background:none;color:var(--pk-text-soft);font-weight:600;text-decoration:underline}.pk-btn-quiet:active{background:none}.pk-note{margin:0;padding:.85rem 1rem;border-radius:14px;font-size:.95rem;line-height:1.45;text-align:left;background:var(--pk-pink-soft);color:var(--pk-text)}.pk-note-calm{background:var(--pk-surface);border:2px solid var(--pk-beige);color:var(--pk-text-soft)}.pk-pin-note{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--pk-surface);border:2px solid var(--pk-purple-soft);color:var(--pk-text-soft)}.pk-pin-note b{font-size:1.5rem;font-weight:700;letter-spacing:.25em;text-indent:.25em;font-variant-numeric:tabular-nums;color:var(--pk-purple-deep)}.pk-steps{margin:0;padding-left:1.25rem;text-align:left;line-height:1.7;color:var(--pk-text)}.pk-code,.pk-ages{border:none;margin:0;padding:0}.pk-code legend,.pk-ages legend{padding:0;margin-bottom:.5rem;font-size:.95rem;font-weight:600;color:var(--pk-text)}.pk-code>div{display:grid;grid-auto-flow:column;gap:.4rem}.pk-code input{width:100%;min-width:0;box-sizing:border-box;padding:.75rem 0;font-family:inherit;font-size:1.4rem;font-weight:700;text-align:center;text-transform:uppercase;color:var(--pk-text);background:var(--pk-surface);border:2px solid var(--pk-beige);border-radius:12px}.pk-code input:focus{outline:none;border-color:var(--pk-purple-soft)}.pk-ages>div{display:grid;grid-auto-flow:column;gap:.5rem}.pk-ages button{padding:.7rem 0;font-family:inherit;font-size:1.15rem;font-weight:700;color:var(--pk-text-soft);background:var(--pk-surface);border:2px solid var(--pk-beige);border-radius:14px;cursor:pointer}.pk-ages button[data-active=true]{color:var(--pk-white-warm);background:var(--pk-purple);border-color:var(--pk-purple)}.pk-reveal{position:relative}.pk-eye{position:absolute;right:.5rem;bottom:.5rem;display:grid;place-items:center;width:44px;height:44px;padding:0;background:none;border:none;border-radius:10px;color:var(--pk-text-soft);cursor:pointer}.pk-eye svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.pk-platforms{display:grid;gap:.6rem}.pk-platforms button{padding:1rem 1.25rem;font-family:inherit;font-size:1rem;font-weight:600;text-align:left;color:var(--pk-text);background:var(--pk-surface);border:2px solid var(--pk-beige);border-radius:16px;cursor:pointer}.pk-platforms button[data-guess=true]{border-color:var(--pk-purple-soft)}.pk-platforms button:active{background:var(--pk-beige)}.pk-mascot{width:min(38vw,180px);aspect-ratio:1;margin:0 auto;background-image:var(--pk-mascot-src);background-repeat:no-repeat;background-position:center;background-size:contain}.pk-mascot[data-frames]{background-size:calc(var(--pk-mascot-frames) * 100%) 100%;background-position:0 0;animation:pk-frames calc(var(--pk-mascot-frames) * .11s) steps(var(--pk-mascot-frames),jump-none) infinite}@keyframes pk-frames{to{background-position:100% 0}}.pk-mascot[data-frames][data-mascot=celebrating]{animation-iteration-count:1;animation-duration:.7s}@keyframes pk-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes pk-talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(.88)}}@keyframes pk-lean{0%,to{transform:translateY(0)}50%{transform:translateY(6%)}}@keyframes pk-cheer{0%,to{transform:translateY(0) rotate(0)}30%{transform:translateY(-10%) rotate(-6deg)}60%{transform:translateY(-4%) rotate(6deg)}}@keyframes pk-wake{0%{transform:scale(.8) translateY(8%);opacity:0}60%{transform:scale(1.06) translateY(0);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}.pk-mascot:not([data-frames])[data-mascot=idle]{animation:pk-breathe 2.4s ease-in-out infinite}.pk-mascot:not([data-frames])[data-mascot=speaking]{animation:pk-talk .38s ease-in-out infinite}.pk-mascot:not([data-frames])[data-mascot=pointing]{animation:pk-lean 1.2s ease-in-out infinite}.pk-mascot:not([data-frames])[data-mascot=celebrating]{animation:pk-cheer .7s ease-out 2}.pk-mascot:not([data-frames])[data-mascot=encouraging]{animation:pk-breathe .9s ease-in-out 2}.pk-mascot:not([data-frames])[data-mascot=listening]{animation:pk-breathe 1.6s ease-in-out infinite}.pk-mascot:not([data-frames])[data-mascot=thinking]{animation:pk-lean 1.8s ease-in-out infinite}.pk-mascot:not([data-frames])[data-mascot=wake]{animation:pk-wake 1s ease-out 1}.pk-mascot:not([data-frames])[data-mascot=bye]{animation:pk-breathe 3.2s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.pk-mascot{animation:none!important}}@keyframes pk-bounce{0%,to{transform:scale(1)}30%{transform:scale(.93)}60%{transform:scale(1.04)}}@keyframes pk-marks{0%{opacity:0}35%{opacity:.85}to{opacity:0}}.pk-tile{position:relative;display:grid;place-items:center;min-width:var(--pk-touch-min);min-height:var(--pk-touch-min);width:100%;aspect-ratio:1;border:none;border-radius:var(--pk-radius);background:var(--pk-tile);box-shadow:0 3px 10px #00000012;padding:8%;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pk-tile img{width:100%;height:100%;object-fit:contain}.pk-tile:before,.pk-tile:after{content:"";position:absolute;top:50%;width:16px;height:40%;border:4px solid transparent;border-radius:50%;opacity:0;pointer-events:none;transform:translateY(-50%)}.pk-tile:before{left:-16px;border-left-color:var(--pk-purple-soft)}.pk-tile:after{right:-16px;border-right-color:var(--pk-purple-soft)}.pk-tile[data-bounce=true]{animation:pk-bounce .42s ease-out}.pk-tile[data-bounce=true]:before,.pk-tile[data-bounce=true]:after{animation:pk-marks .42s ease-out}.pk-tile[data-chosen=true]{animation:pk-bounce .42s ease-out;background:var(--pk-tile-ok);box-shadow:0 0 0 5px var(--pk-yellow-sun)}.pk-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--pk-gap);padding:var(--pk-gap);align-content:center;min-height:100dvh;box-sizing:border-box}@media (prefers-reduced-motion: reduce){.pk-tile[data-bounce=true],.pk-tile[data-chosen=true]{animation:none}.pk-tile[data-bounce=true]:before,.pk-tile[data-bounce=true]:after{animation:none;opacity:.85}}.pk-stage{display:grid;align-content:center;justify-items:center;gap:4vh;min-height:100dvh;padding:4vw;box-sizing:border-box}.pk-hero{width:min(56vw,260px);aspect-ratio:1;object-fit:contain}.pk-tap-mascot{border:none;background:none;padding:4vw;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pk-tap-mascot[data-ready=true]{border-radius:50%;animation:pk-invite 1.8s ease-in-out infinite}@keyframes pk-invite{0%,to{box-shadow:0 0 #6f4cc300}50%{box-shadow:0 0 0 18px #6f4cc31a}}@media (prefers-reduced-motion: reduce){.pk-tap-mascot[data-ready=true]{animation:none}}.pk-chant-row{display:flex;flex-wrap:wrap;gap:3vw;justify-content:center}.pk-chant-row img{width:min(22vw,110px);aspect-ratio:1;object-fit:contain}.pk-video{width:100%;aspect-ratio:16 / 9;background:var(--pk-purple-deep);border-radius:var(--pk-radius);overflow:hidden}.pk-video iframe{width:100%;height:100%;border:0;display:block}[data-screen=welcome],[data-screen=loading],[data-screen=come-back],[data-step=intro],[data-step=echo],[data-step=chant],[data-screen=lesson] [data-step=tap-to-start]{background-repeat:no-repeat;background-position:center;background-size:cover}[data-screen=welcome],[data-screen=loading],[data-step=intro],[data-step=echo]{background-image:var(--pk-scene-meadow)}[data-step=chant],[data-screen=lesson] [data-step=tap-to-start]{background-image:var(--pk-scene-magical)}[data-screen=come-back]{background-image:var(--pk-scene-sky)}.pk-coach{width:var(--pk-touch-min);height:var(--pk-touch-min);border:none;border-radius:50%;background:var(--pk-purple-soft);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.pk-coach[data-phase=idle]{animation:pk-coach-breathe 2.8s ease-in-out infinite}.pk-coach[data-phase=speaking]{animation:pk-coach-talk .38s ease-in-out infinite}.pk-coach[data-phase=listening]{background:var(--pk-yellow-sun);animation:pk-coach-listen 1.4s ease-out infinite}@keyframes pk-coach-breathe{0%,to{transform:scale(1);opacity:.75}50%{transform:scale(1.06);opacity:1}}@keyframes pk-coach-talk{0%,to{transform:scale(1)}50%{transform:scale(.94)}}@keyframes pk-coach-listen{0%{box-shadow:0 0 #ffc83d8c}to{box-shadow:0 0 0 26px #ffc83d00}}@media (prefers-reduced-motion: reduce){.pk-coach{animation:none!important}}:root{--pk-purple: #6F4CC3;--pk-purple-deep: #5637A5;--pk-purple-soft: #8B6BDD;--pk-yellow-sun: #FFC83D;--pk-yellow-warm: #FFD95A;--pk-gold: #FFB51B;--pk-green-leaf: #79B94A;--pk-green-soft: #A9D86E;--pk-blue-sky: #58B7E8;--pk-blue-soft: #BFEAF8;--pk-pink-warm: #F49AA6;--pk-pink-soft: #F9C8CE;--pk-orange: #F2A53B;--pk-cream: #FFF9EE;--pk-white-warm: #FFFEFA;--pk-beige: #F3EBDD;--pk-text: #332D3A;--pk-text-soft: #6F6876;--pk-bg: var(--pk-cream);--pk-surface: var(--pk-white-warm);--pk-tile: var(--pk-white-warm);--pk-tile-ok: var(--pk-green-soft);--pk-accent: var(--pk-purple);--pk-mascot: var(--pk-purple);--pk-sparkle: var(--pk-gold);--pk-gap-sm: 2vw;--pk-gap: 4vw;--pk-gap-lg: 4vh;--pk-radius: 24px;--pk-touch-min: 88px}.pk-parent{min-height:100dvh;box-sizing:border-box;max-width:560px;margin:0 auto;display:flex;flex-direction:column;background:var(--pk-bg);color:var(--pk-text);line-height:1.5}.pk-parent-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:max(1.25rem,env(safe-area-inset-top)) 1.25rem .75rem}.pk-parent h1{margin:0;font-size:1.3rem;font-weight:700;letter-spacing:-.01em}.pk-parent h2{margin:0 0 .7rem;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pk-text-soft)}.pk-parent-body{flex:1;overflow-y:auto;padding:.5rem 1.25rem 1.5rem}.pk-parent-body section+section,.pk-parent-body section+p{margin-top:1.75rem}.pk-card{background:var(--pk-surface);border:1px solid var(--pk-beige);border-radius:18px;padding:.9rem 1rem}.pk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.pk-stat{text-align:center;padding:.9rem .5rem}.pk-stat b{display:block;font-size:1.7rem;font-weight:700;line-height:1.1;color:var(--pk-purple-deep);font-variant-numeric:tabular-nums}.pk-stat b i{font-style:normal;font-size:.9rem;font-weight:700;margin-left:.1em}.pk-stat span{display:block;margin-top:.3rem;font-size:.72rem;line-height:1.3;color:var(--pk-text-soft)}.pk-units{margin:0;padding:0;list-style:none;display:grid;gap:.6rem}.pk-unit{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:.3rem .75rem}.pk-unit img,.pk-unit-blank{width:40px;height:40px;object-fit:contain;grid-row:span 2}.pk-unit-blank{border-radius:10px;background:var(--pk-beige)}.pk-unit b{font-weight:600;align-self:end}.pk-unit i{font-style:normal;font-size:.85rem;font-weight:600;color:var(--pk-text-soft);font-variant-numeric:tabular-nums;align-self:end}.pk-bar{grid-column:2 / -1;height:8px;border-radius:99px;background:var(--pk-beige);overflow:hidden;align-self:start}.pk-bar span{display:block;height:100%;border-radius:99px;background:var(--pk-purple-soft)}.pk-next{margin:0;text-align:center;font-weight:600;color:var(--pk-purple-deep);background:var(--pk-blue-soft);border-color:transparent}.pk-words{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.pk-words li{display:flex;align-items:center;gap:.85rem;padding:.6rem .9rem}.pk-words img{width:38px;height:38px;object-fit:contain;flex:none}.pk-word{flex:1;display:flex;flex-direction:column;line-height:1.25}.pk-word b{font-weight:600}.pk-word em{font-style:normal;font-size:.85rem;color:var(--pk-text-soft)}.pk-check{width:22px;height:22px;flex:none}.pk-check circle{fill:var(--pk-green-leaf)}.pk-check path{fill:none;stroke:var(--pk-white-warm);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.pk-empty{margin:.75rem 0 0;color:var(--pk-text-soft);font-size:.9rem}.pk-settings{display:grid;gap:.6rem}.pk-setting{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.2rem 1rem}.pk-setting b{font-weight:600}.pk-setting span{color:var(--pk-text-soft);text-align:right}.pk-setting small{grid-column:1 / -1;font-size:.8rem;color:var(--pk-text-soft)}.pk-pin{font-size:1.15rem;font-weight:700;letter-spacing:.25em;color:var(--pk-purple-deep)!important;font-variant-numeric:tabular-nums}.pk-build{font-size:.72rem;word-break:break-all}.pk-signout{width:100%;margin-top:.5rem}.pk-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom));background:var(--pk-surface);border-top:1px solid var(--pk-beige)}.pk-tabs button{display:grid;justify-items:center;gap:.15rem;padding:.45rem .2rem;font-family:inherit;font-size:.7rem;font-weight:600;color:var(--pk-text-soft);background:none;border:none;border-radius:12px;cursor:pointer}.pk-tabs button[data-active=true]{color:var(--pk-purple);background:var(--pk-bg)}.pk-tabs svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.pk-gate{min-height:100dvh;box-sizing:border-box;display:grid;align-content:center;justify-items:center;gap:1.25rem;padding:2rem 1.25rem;background:var(--pk-bg);color:var(--pk-text);text-align:center}.pk-gate form{display:grid;gap:1rem;width:100%;max-width:260px}.pk-gate label{font-size:.95rem;color:var(--pk-text-soft)}.pk-gate input{width:100%;box-sizing:border-box;padding:.9rem 1rem;font-size:1.75rem;font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:.4em;text-align:center;text-indent:.4em;color:var(--pk-text);background:var(--pk-surface);border:2px solid var(--pk-beige);border-radius:14px}.pk-gate input:focus{outline:none;border-color:var(--pk-purple-soft)}.pk-gate input::-webkit-outer-spin-button,.pk-gate input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.pk-parent-btn{padding:.7rem 1.1rem;font-family:inherit;font-size:.95rem;font-weight:600;color:var(--pk-purple-deep);background:var(--pk-surface);border:1px solid var(--pk-beige);border-radius:12px;cursor:pointer}.pk-parent-btn:active{background:var(--pk-beige)}.pk-parent-btn-primary{width:100%;padding:.95rem 1.5rem;font-size:1rem;font-weight:700;color:var(--pk-white-warm);background:var(--pk-purple);border:none;border-radius:14px}.pk-parent-btn-primary:active{background:var(--pk-purple-deep)}.pk-gate-wrong{margin:0;padding:.7rem 1rem;border-radius:12px;background:var(--pk-pink-soft);color:var(--pk-text);font-size:.9rem}
