@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2"),url(/assets/nunito-latin-800-normal-D-J0wlBY.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:600;src:url(/assets/baloo-2-latin-600-normal-tIfxVoAe.woff2)format("woff2"),url(/assets/baloo-2-latin-600-normal-B4tNaogw.woff)format("woff")}@font-face{font-family:"Baloo 2";font-style:normal;font-display:swap;font-weight:800;src:url(/assets/baloo-2-latin-800-normal-BbF3Etk1.woff2)format("woff2"),url(/assets/baloo-2-latin-800-normal-B8BXfZF7.woff)format("woff")}:root{--night:#1f2a55;--night-2:#2b3a73;--night-3:#3d4f8f;--dawn:#ffb38a;--sun:#ffd166;--sun-deep:#f5a623;--sea:#2ec4b6;--lilac:#8e7dff;--rose:#ff8fb1;--sky:#3a86ff;--leaf:#5bba6f;--cream:#fff8ee;--paper:#fff;--ink:#1e2240;--muted:#5d6286;--line:#e6e1f2;--good:#23a565;--gentle:#f4845f;--radius:22px;--radius-sm:14px;--shadow:0 10px 30px #1f2a5529;--shadow-sm:0 4px 12px #1f2a551f;--font-display:"Baloo 2", "Nunito", ui-rounded, system-ui, sans-serif;--font-body:"Nunito", ui-rounded, system-ui, -apple-system, "Segoe UI", sans-serif;--tap:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:17px}:root[data-text-size=large]{font-size:20px}:root[data-text-size=xlarge]{font-size:23px}:root[data-contrast=high]{--ink:#000;--muted:#1b1b1b;--line:#000;--cream:#fff;--shadow:none;--shadow-sm:none}:root[data-contrast=high] .card,:root[data-contrast=high] .btn{border:3px solid #000!important}:root[data-motion=reduced] *,:root[data-motion=reduced] :before,:root[data-motion=reduced] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);margin:0 0 .4em;line-height:1.15}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.2rem}p{margin:0 0 .8em;line-height:1.55}a{color:var(--night-2)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:4px solid var(--sky);outline-offset:3px;border-radius:10px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{cursor:pointer;min-height:48px;font-family:var(--font-display);background:var(--night);color:#fff;box-shadow:var(--shadow-sm);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.6em 1.3em;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,background .2s;display:inline-flex}.btn:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.btn:active{transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.sun{background:var(--sun);color:var(--ink)}.btn.sea{background:var(--sea);color:#06302c}.btn.ghost{color:var(--night);box-shadow:none;border:2px solid var(--line);background:0 0}.btn.danger{background:#b4233c}.btn.small{min-height:36px;padding:.35em .9em;font-size:.92rem}.btn.big{min-height:var(--tap);padding:.7em 1.6em;font-size:1.3rem}.card{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.stack{flex-direction:column;gap:1rem;display:flex}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.muted{color:var(--muted)}.pill{color:var(--night-2);background:#eef0ff;border-radius:999px;align-items:center;gap:.3em;padding:.2em .7em;font-size:.82rem;font-weight:700;display:inline-flex}.pill.beginning{color:#9a3a1c;background:#fde9e1}.pill.developing{color:#7a5300;background:#fff1cc}.pill.practising{color:#0d4f8b;background:#e6f4ff}.pill.secure{color:#136a3e;background:#dff6ea}.pill.mastered{color:#3e2fa3;background:#e7e3ff}.pill.not_started{color:#555;background:#eee}.field{flex-direction:column;gap:.35rem;display:flex}.field label{font-weight:700}.field input,.field select,.field textarea{border:2px solid var(--line);background:#fff;border-radius:12px;min-height:46px;padding:.55rem .8rem}.field textarea{min-height:120px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86rem}.field .hint{color:var(--muted);font-size:.85rem}.check{align-items:flex-start;gap:.6rem;line-height:1.4;display:flex}.check input{width:22px;height:22px;accent-color:var(--night);margin-top:2px}.error-box{color:#8a1c2f;background:#fdecef;border-radius:12px;padding:.7rem 1rem;font-weight:600}.ok-box{color:#145c36;background:#e6f7ee;border-radius:12px;padding:.7rem 1rem;font-weight:600}.toggle{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;display:flex}.toggle input[type=checkbox]{appearance:none;cursor:pointer;background:#cfd3e6;border-radius:999px;flex:none;width:52px;height:30px;transition:background .2s;position:relative}.toggle input[type=checkbox]:after{content:"";width:24px;height:24px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:left .2s;position:absolute;top:3px;left:3px}.toggle input[type=checkbox]:checked{background:var(--good)}.toggle input[type=checkbox]:checked:after{left:25px}.loader{color:var(--muted);font-family:var(--font-display);place-items:center;gap:.8rem;padding:3rem;display:grid}.loader .twinkle{font-size:2.4rem;animation:1.2s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.8;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.25)rotate(20deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes slide-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.character{animation:3.4s ease-in-out infinite ch-float;display:block;overflow:visible}.character .ch-talk{opacity:0;transform-box:fill-box;transform-origin:50%}.character.is-talking .ch-smile{opacity:0}.character.is-talking .ch-talk{opacity:1;animation:.26s ease-in-out infinite alternate ch-talk}.character .ch-eye{transform-box:fill-box;transform-origin:50%;animation:4.6s infinite ch-blink}.character.is-celebrating{animation:.7s ease-in-out infinite ch-hop}.ch-lumo .ch-glow{transform-box:fill-box;transform-origin:50%;animation:2.6s ease-in-out infinite ch-glow}.ch-lumo .ch-sparkle{transform-box:fill-box;transform-origin:50%;animation:1.6s ease-in-out infinite twinkle}.ch-quirk .ch-tail,.ch-fizz .ch-tail{transform-box:fill-box;transform-origin:0;animation:2.2s ease-in-out infinite ch-wag}.ch-fizz .ch-gill{transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite ch-wag}@keyframes ch-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes ch-hop{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-14px)rotate(-4deg)}}@keyframes ch-talk{0%{transform:scaleY(.4)}to{transform:scaleY(1.15)}}@keyframes ch-blink{0%,93%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes ch-glow{0%,to{opacity:.6;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@keyframes ch-wag{0%,to{transform:rotate(0)}50%{transform:rotate(8deg)}}.avatar{display:block;overflow:visible}.avatar .av-arm-l{transform-origin:59px 128px;transform-box:view-box}.avatar .av-arm-r{transform-origin:141px 128px;transform-box:view-box}.avatar .av-leg-l{transform-origin:87px 190px;transform-box:view-box}.avatar .av-leg-r{transform-origin:112px 190px;transform-box:view-box}.avatar .av-head{transform-origin:100px 120px;transform-box:view-box}.avatar .av-eye{transform-origin:50%;transform-box:fill-box;animation:5s infinite av-blink}.avatar .av-all{transform-box:view-box}.avatar--idle .av-all{animation:3.2s ease-in-out infinite av-breathe}.avatar--walk .av-leg-l,.avatar--run .av-leg-l{animation:.7s ease-in-out infinite av-step}.avatar--walk .av-leg-r,.avatar--run .av-leg-r{animation:.7s ease-in-out infinite reverse av-step}.avatar--walk .av-arm-l,.avatar--run .av-arm-l{animation:.7s ease-in-out infinite av-swing}.avatar--walk .av-arm-r,.avatar--run .av-arm-r{animation:.7s ease-in-out infinite reverse av-swing}.avatar--walk .av-all{animation:.35s ease-in-out infinite av-bob}.avatar--run .av-leg-l,.avatar--run .av-leg-r,.avatar--run .av-arm-l,.avatar--run .av-arm-r{animation-duration:.38s}.avatar--run .av-all{animation:.19s ease-in-out infinite av-bob;transform:rotate(4deg)}.avatar--jump .av-all{animation:.9s cubic-bezier(.3,.7,.4,1) infinite av-jump}.avatar--celebrate .av-all{animation:.8s cubic-bezier(.3,.7,.4,1) infinite av-jump}.avatar--celebrate .av-arm-l{transform:rotate(150deg)}.avatar--celebrate .av-arm-r{transform:rotate(-150deg)}.avatar--celebrate .av-confetti{transform-box:view-box;transform-origin:100px 100px;animation:1.2s ease-out infinite av-confetti}.avatar--wave .av-arm-r{animation:.9s ease-in-out infinite av-wave}.avatar--talk .av-talk{transform-origin:100px 105px;transform-box:view-box;animation:.28s ease-in-out infinite alternate av-talk}.avatar--talk .av-head{animation:1.4s ease-in-out infinite av-nod}.avatar--think .av-arm-l{transform:rotate(140deg)translateY(8px)}.avatar--think .av-head{transform:rotate(-6deg)}.avatar--think .av-thought{animation:2s ease-in-out infinite av-float}.avatar--confused .av-head{animation:1.6s ease-in-out infinite av-tilt}.avatar--confused .av-question{animation:1.4s ease-in-out infinite av-float}.avatar--read .av-arm-l,.avatar--build .av-arm-l{transform:rotate(-35deg)}.avatar--read .av-arm-r,.avatar--build .av-arm-r{transform:rotate(35deg)}.avatar--read .av-head{transform:rotate(4deg)translateY(3px)}.avatar--draw .av-arm-r{animation:.5s ease-in-out infinite alternate av-scribble}.avatar--discover .av-arm-r{transform:rotate(-60deg)}.avatar--discover .av-magnifier{animation:2s ease-in-out infinite av-float}.avatar--retry .av-arm-r{animation:.8s ease-in-out infinite av-pump}.avatar--retry .av-all{animation:1.2s ease-in-out infinite av-breathe}@keyframes av-breathe{0%,to{transform:translateY(0)scaleY(1)}50%{transform:translateY(-2px)scaleY(1.01)}}@keyframes av-blink{0%,94%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes av-step{0%,to{transform:rotate(-16deg)}50%{transform:rotate(16deg)}}@keyframes av-swing{0%,to{transform:rotate(18deg)}50%{transform:rotate(-18deg)}}@keyframes av-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes av-jump{0%,to{transform:translateY(0)scaleY(1)}15%{transform:translateY(4px)scaleY(.94)}45%{transform:translateY(-34px)scaleY(1.03)}75%{transform:translateY(0)scaleY(.97)}}@keyframes av-wave{0%,to{transform:rotate(-150deg)}50%{transform:rotate(-115deg)}}@keyframes av-talk{0%{transform:scaleY(.35)}to{transform:scaleY(1.1)}}@keyframes av-nod{0%,to{transform:rotate(0)}50%{transform:rotate(2deg)}}@keyframes av-tilt{0%,to{transform:rotate(-10deg)}50%{transform:rotate(-4deg)}}@keyframes av-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes av-scribble{0%{transform:rotate(-40deg)}to{transform:rotate(-58deg)}}@keyframes av-pump{0%,to{transform:rotate(-100deg)}50%{transform:rotate(-160deg)}}@keyframes av-confetti{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.25)rotate(15deg)}}.child-app{min-height:100%;color:var(--ink);background:linear-gradient(#24316a 0%,#3d4f8f 38%,#a98bd9 72%,#ffc3a0 100%) fixed;flex-direction:column;font-size:1.08rem;display:flex}.child-main{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:1rem 1rem 6.5rem}.child-top{color:#fff;justify-content:space-between;align-items:center;padding:.6rem 1rem;display:flex}.child-top .who{font-family:var(--font-display);align-items:center;gap:.6rem;font-size:1.25rem;display:flex}.child-top .offline{background:#ffffff2e;border-radius:999px;padding:.25rem .8rem;font-size:.85rem}.grown-ups-btn{color:#fff;cursor:pointer;background:#ffffff26;border:0;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .9rem;display:inline-flex}.child-nav{left:50%;bottom:max(12px, env(safe-area-inset-bottom));box-shadow:var(--shadow);z-index:20;background:#fffffff5;border-radius:28px;gap:.35rem;max-width:calc(100% - 16px);padding:.45rem;display:flex;position:fixed;transform:translate(-50%)}.child-nav a{min-width:var(--tap);min-height:var(--tap);color:var(--night-2);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0 .5rem;font-size:.74rem;font-weight:800;text-decoration:none;display:flex}.child-nav a.active{background:var(--sun);color:var(--ink)}.child-nav a:hover{background:#f3f0ff}.child-nav a.active:hover{background:var(--sun)}.sky-stars{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.sky-stars i{opacity:.7;background:#fff;border-radius:50%;width:4px;height:4px;animation:3s ease-in-out infinite twinkle;position:absolute}.child-top,.child-main{z-index:1;position:relative}.hero{color:#fff;grid-template-columns:auto 1fr;align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.hero h1{color:#fff;margin:0;font-size:2.1rem}.hero p{opacity:.9;margin:.2rem 0 0}.narrator{align-items:flex-end;gap:.6rem;display:flex}.narrator .bubble{box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;flex:1;align-items:center;min-height:3rem;padding:.8rem 3rem .8rem 1rem;font-size:1.12rem;font-weight:700;animation:.25s ease-out pop-in;display:flex;position:relative}.narrator .bubble p{margin:0}.narrator .bubble:before{content:"";border:10px solid #0000;border-left:0;border-right-color:#fff;position:absolute;bottom:18px;left:-10px}.narrator .replay{width:40px;height:40px;color:var(--night-2);cursor:pointer;background:#eef0ff;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.narrator.compact .bubble{font-size:1rem}.big-card{box-shadow:var(--shadow);text-align:left;cursor:pointer;width:100%;color:var(--ink);background:#fff;border:0;border-radius:28px;align-items:center;gap:1rem;min-height:96px;padding:1rem 1.2rem;text-decoration:none;transition:transform .15s;animation:.35s ease-out both slide-up;display:flex}.big-card:hover{transform:translateY(-3px)scale(1.01)}.big-card .emoji{background:#fff7e0;border-radius:22px;flex:none;place-items:center;width:72px;height:72px;font-size:3rem;display:grid}.big-card .title{font-family:var(--font-display);font-size:1.35rem;font-weight:800;line-height:1.1}.big-card .sub{color:var(--muted);font-size:.95rem;font-weight:700}.big-card.primary{border:4px solid var(--sun);background:linear-gradient(135deg,#fff7d6,#ffe3c2)}.big-card.locked{opacity:.6}.card-tag{background:var(--night);color:#fff;border-radius:999px;margin-bottom:.2rem;padding:.15rem .6rem;font-size:.78rem;font-weight:800;display:inline-block}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem;display:grid}.section-title{color:#fff;font-family:var(--font-display);align-items:center;gap:.5rem;margin:1.4rem 0 .6rem;font-size:1.4rem;display:flex}.world-map{aspect-ratio:16/10;width:100%;max-height:70vh;box-shadow:var(--shadow);background:linear-gradient(#2b3a73,#6f6ac2 60%,#ffc3a0);border-radius:32px;position:relative;overflow:hidden}.world-map svg.map-bg{width:100%;height:100%;position:absolute;inset:0}.island{color:#fff;flex-direction:column;align-items:center;gap:.2rem;text-decoration:none;animation:5s ease-in-out infinite float;display:flex;position:absolute;transform:translate(-50%,-50%)}.island .blob{aspect-ratio:1.3;border-radius:48% 52% 44% 56%/58% 46% 54% 42%;place-items:center;width:clamp(84px,14vw,150px);font-size:clamp(2.2rem,5vw,3.6rem);transition:transform .2s;display:grid;box-shadow:0 16px #0000001f,0 0 0 6px #ffffff40}.island:hover .blob,.island:focus-visible .blob{transform:scale(1.08)}.island .name{font-family:var(--font-display);background:#1f2a55b3;border-radius:999px;padding:.1rem .8rem;font-size:clamp(.9rem,1.8vw,1.25rem);font-weight:800}.island.glow .blob{box-shadow:0 16px #0000001f,0 0 0 6px #ffd166,0 0 40px 10px #ffd166b3}.cloud{filter:blur(1px);background:#ffffffbf;border-radius:999px;animation:60s linear infinite drift;position:absolute}@keyframes drift{0%{transform:translate(-20vw)}to{transform:translate(120vw)}}.player{flex-direction:column;gap:1rem;max-width:900px;margin:0 auto;display:flex}.player-top{align-items:center;gap:.75rem;display:flex}.round-btn{width:56px;height:56px;color:var(--night);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.dots{flex:1;justify-content:center;gap:6px;display:flex}.dots i{background:#fff6;border-radius:50%;width:14px;height:14px}.dots i.done{background:var(--sun)}.dots i.now{background:#fff;transform:scale(1.25)}.stage{box-shadow:var(--shadow);background:#fff;border-radius:32px;flex-direction:column;gap:1rem;min-height:320px;padding:1.25rem;animation:.3s ease-out pop-in;display:flex}.prompt{font-family:var(--font-display);text-align:center;margin:0;font-size:1.6rem}.visual{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;min-height:90px;display:flex}.objects{background:#fff8e8;border-radius:20px;flex-wrap:wrap;justify-content:center;gap:.25rem;max-width:360px;padding:.6rem;display:flex}.objects span{font-size:2.3rem;line-height:1.1;animation:.3s ease-out both pop-in}.objects span.crossed{opacity:.3;position:relative}.objects span.crossed:after{content:"";background:var(--gentle);border-radius:4px;height:4px;position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-30deg)}.objects.big span{font-size:3.2rem}.op{font-family:var(--font-display);color:var(--night-2);font-size:2.6rem}.ten-frame{background:var(--night-2);border-radius:12px;grid-template-columns:repeat(5,56px);gap:4px;padding:6px;display:grid}.ten-frame div{background:#fff;border-radius:8px;place-items:center;width:56px;height:56px;font-size:2rem;display:grid}.dice{border:4px solid var(--night);width:130px;height:130px;box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;position:relative}.dice i{background:var(--night);border-radius:50%;width:22px;height:22px;position:absolute;transform:translate(-50%,-50%)}.sequence{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.sequence span{min-width:64px;height:64px;font-size:2rem;font-family:var(--font-display);background:#f3f0ff;border-radius:16px;place-items:center;padding:0 .4rem;font-weight:800;display:grid}.sequence span.blank{border:4px dashed var(--lilac);color:var(--lilac);background:#fff}.numeral-visual{font-family:var(--font-display);color:var(--night);font-size:3.2rem;font-weight:800}.scene-visual{white-space:pre-line;text-align:center;font-size:3.4rem;line-height:1.2}.passage{white-space:pre-wrap;text-align:left;background:#fff8e8;border-radius:20px;max-width:640px;padding:1rem 1.2rem;font-size:1.25rem;font-weight:600;line-height:1.6}.choices{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.8rem;display:grid}.choice{border:4px solid var(--line);cursor:pointer;min-height:92px;font-family:var(--font-display);color:var(--ink);background:#fff;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem;font-size:1.6rem;font-weight:800;transition:transform .12s,border-color .2s,background .2s;display:flex}.choice .emoji{font-size:2.4rem}.choice .small{font-size:1rem;font-family:var(--font-body)}.choice:hover:not(:disabled){border-color:var(--lilac);transform:translateY(-3px)}.choice.selected{border-color:var(--sky);background:#eaf2ff}.choice.right{border-color:var(--good);background:#e3f7ec;animation:.3s pop-in}.choice.wrong{border-color:var(--gentle);opacity:.65;background:#fff1ea;animation:.35s shake}.choice.dimmed{opacity:.25}.choice.textual{font-size:1.15rem;font-family:var(--font-body)}.tiles,.slots{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.tile{background:var(--sun);min-width:72px;height:72px;font-family:var(--font-display);cursor:pointer;border:0;border-radius:18px;padding:0 .8rem;font-size:2rem;font-weight:800;box-shadow:0 6px #d8a032}.tile:active{transform:translateY(4px);box-shadow:0 2px #d8a032}.tile:disabled{opacity:.25}.slot{border:4px dashed var(--lilac);min-width:72px;height:76px;font-family:var(--font-display);background:#faf8ff;border-radius:18px;place-items:center;padding:0 .6rem;font-size:2rem;font-weight:800;display:grid}.slot.filled{background:#fff;border-style:solid}.order-cards{flex-direction:column;gap:.5rem;display:flex}.order-card{border:3px solid var(--line);cursor:pointer;text-align:left;background:#fff;border-radius:18px;align-items:center;gap:.8rem;padding:.6rem .9rem;font-size:1.1rem;font-weight:800;display:flex}.order-card .num{background:var(--night);color:#fff;width:40px;height:40px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}.order-card .em{font-size:2rem}.order-card.placed{border-color:var(--sea);background:#e8faf8}.sort-area{gap:.8rem;display:grid}.bins{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem;display:grid}.bin{border:4px dashed var(--sea);cursor:pointer;background:#f0fbfa;border-radius:24px;flex-direction:column;align-items:center;gap:.4rem;min-height:130px;padding:.6rem;display:flex}.bin h4{align-items:center;gap:.3rem;margin:0;font-size:1.2rem;display:flex}.bin .in{flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.thing{border:3px solid var(--line);cursor:pointer;background:#fff;border-radius:16px;align-items:center;gap:.3rem;padding:.4rem .7rem;font-weight:800;display:inline-flex}.thing.picked{border-color:var(--sky);background:#eaf2ff;transform:scale(1.05)}.thing .em{font-size:1.8rem}.feedback{border-radius:24px;align-items:center;gap:1rem;padding:.8rem 1rem;font-size:1.2rem;font-weight:800;animation:.25s slide-up;display:flex}.feedback.good{color:#11613a;background:#e3f7ec}.feedback.gentle{color:#8a3a1a;background:#fff1ea}.player-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.stuck-btn{color:var(--night);min-height:var(--tap);font-family:var(--font-display);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;border:0;border-radius:999px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:1.15rem;font-weight:800;display:inline-flex}.overlay{z-index:50;background:#1418368c;place-items:center;padding:1rem;animation:.2s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{width:min(640px,100%);max-height:90vh;box-shadow:var(--shadow);background:#fff;border-radius:32px;padding:1.4rem;animation:.25s pop-in;overflow:auto}.help-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.7rem;margin-top:.8rem;display:grid}.help-option{border:3px solid var(--line);cursor:pointer;background:#fbfaff;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:96px;font-size:1.05rem;font-weight:800;display:flex}.help-option .e{font-size:2rem}.help-option:hover{border-color:var(--lilac);background:#f3f0ff}.help-option:disabled{opacity:.4;cursor:not-allowed}.demo-area{background:#fff8e8;border-radius:22px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;min-height:160px;margin:.8rem 0;padding:1rem;display:flex}.demo-area .lit{animation:.35s ease-out both pop-in}.demo-count{font-family:var(--font-display);color:var(--night);text-align:center;min-width:60px;font-size:2.6rem;font-weight:800}.steps{counter-reset:s;gap:.6rem;padding:0;list-style:none;display:grid}.steps li{align-items:flex-start;gap:.6rem;font-size:1.1rem;font-weight:700;animation:.3s both slide-up;display:flex}.steps li:before{counter-increment:s;content:counter(s);background:var(--sun);width:32px;height:32px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;display:grid}.celebration{text-align:center;color:#fff;justify-items:center;gap:.6rem;padding:1rem 0;display:grid}.celebration h1{color:#fff;font-size:2.4rem}.flower-row{justify-content:center;gap:.4rem;font-size:2.4rem;display:flex}.garden{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.8rem;display:grid}.plant{text-align:center;box-shadow:var(--shadow-sm);background:#fff;border-radius:22px;padding:.8rem}.plant .stage-emoji{font-size:2.8rem;animation:4s ease-in-out infinite float}.plant .t{font-size:.95rem;font-weight:800}.world-stars{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.8rem;display:grid}.onboard{place-items:center;min-height:100vh;padding:1rem;display:grid}.onboard-card{box-shadow:var(--shadow);background:#fff;border-radius:36px;gap:1rem;width:min(860px,100%);padding:1.6rem;animation:.35s pop-in;display:grid}.interest-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.7rem;display:grid}.interest{border:4px solid var(--line);cursor:pointer;background:#fff;border-radius:24px;place-items:center;min-height:110px;font-size:1.05rem;font-weight:800;display:grid}.interest .e{font-size:2.6rem}.interest.on{border-color:var(--sun);background:#fff7dc;transform:scale(1.03)}.cast{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}.cast>div{text-align:center;background:#faf8ff;border-radius:22px;padding:.6rem}.cast .n{font-family:var(--font-display);font-size:1.15rem;font-weight:800}.cast .r{color:var(--muted);font-size:.85rem}.progress-bar{background:#eef0ff;border-radius:999px;height:16px;overflow:hidden}.progress-bar>div{background:linear-gradient(90deg, var(--sun), var(--dawn));border-radius:999px;height:100%;transition:width .4s}.avatar-editor{grid-template-columns:minmax(200px,300px) 1fr;align-items:start;gap:1rem;display:grid}@media (max-width:720px){.avatar-editor,.hero{grid-template-columns:1fr}}.avatar-stage{background:radial-gradient(circle at 50% 70%,#fff3c4,#ffd8b5 60%,#f3c7ff);border-radius:32px;place-items:center;padding:1rem;display:grid;position:sticky;top:1rem}.opt-group{gap:.4rem;display:grid}.opt-group h4{margin:.4rem 0 0}.opts{flex-wrap:wrap;gap:.4rem;display:flex}.opt{border:3px solid var(--line);cursor:pointer;text-transform:capitalize;background:#fff;border-radius:16px;min-width:52px;min-height:52px;padding:0 .6rem;font-weight:800}.opt.on{border-color:var(--night);box-shadow:0 0 0 3px var(--sun)}.swatch{width:48px;height:48px;box-shadow:0 0 0 2px var(--line);cursor:pointer;border:3px solid #fff;border-radius:50%}.swatch.on{box-shadow:0 0 0 4px var(--night)}.studio-tools{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.canvas-wrap{box-shadow:var(--shadow-sm);touch-action:none;background:#fff;border-radius:24px;padding:.5rem}.canvas-wrap canvas{cursor:crosshair;touch-action:none;background:#fff;border-radius:18px;width:100%;height:auto;display:block}.colour{width:44px;height:44px;box-shadow:0 0 0 2px var(--line);cursor:pointer;border:3px solid #fff;border-radius:50%}.colour.on{box-shadow:0 0 0 4px var(--night)}.scene-canvas{aspect-ratio:16/10;width:100%;box-shadow:var(--shadow-sm);touch-action:none;border-radius:24px;position:relative;overflow:hidden}.scene-canvas .placed{cursor:grab;-webkit-user-select:none;user-select:none;line-height:1;position:absolute;transform:translate(-50%,-50%)}.scene-canvas .placed.sel{outline:3px dashed var(--night);border-radius:12px}.sticker-bar{flex-wrap:wrap;gap:.3rem;display:flex}.sticker-bar button{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:16px;width:58px;height:58px;font-size:2rem}.frames{flex-wrap:wrap;gap:.4rem;display:flex}.frames button{border:3px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;width:84px;height:56px;padding:0;overflow:hidden}.frames button.on{border-color:var(--night)}.frames img{object-fit:contain;width:100%;height:100%}.story-text{border:3px solid var(--line);width:100%;min-height:200px;font-size:1.25rem;line-height:1.6;font-family:var(--font-body);border-radius:20px;padding:1rem}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem;display:grid}.p-item{box-shadow:var(--shadow-sm);text-align:left;cursor:pointer;background:#fff;border:0;border-radius:22px;padding:0;overflow:hidden}.p-item .thumb{aspect-ratio:4/3;background:#fff8e8;place-items:center;font-size:3rem;display:grid;overflow:hidden}.p-item .thumb img{object-fit:cover;width:100%;height:100%}.p-item .meta{padding:.6rem .8rem}.p-item .meta b{display:block}.wonder-box{gap:.6rem;display:flex}.wonder-box input{min-height:var(--tap);border:3px solid #fff;border-radius:999px;flex:1;padding:0 1.2rem;font-size:1.2rem;font-weight:700}.wonder-answer{gap:.8rem;display:grid}.wonder-visual{text-align:center;background:#fff8e8;border-radius:22px;padding:.6rem;font-size:3rem}.gate-pad{grid-template-columns:repeat(3,72px);justify-content:center;gap:.6rem;display:grid}.gate-pad button{height:72px;font-family:var(--font-display);cursor:pointer;background:#f0f1fa;border:0;border-radius:20px;font-size:1.8rem;font-weight:800}.gate-dots{justify-content:center;gap:.6rem;margin:.6rem 0;display:flex}.gate-dots i{background:#e0e2f0;border-radius:50%;width:18px;height:18px}.gate-dots i.on{background:var(--night)}.type-answer{justify-items:center;gap:.9rem;display:grid}.type-row{align-items:center;gap:.6rem;display:flex}.type-input{font-family:var(--font-display);text-align:center;border:4px solid var(--lilac);width:min(320px,70vw);color:var(--ink);background:#faf8ff;border-radius:18px;padding:.4rem .8rem;font-size:2rem;font-weight:800}.type-input:focus{border-color:var(--sky);outline:none;box-shadow:0 0 0 4px #3a86ff40}.type-input.num{letter-spacing:.04em}.type-unit{font-family:var(--font-display);color:var(--night-2);font-size:1.6rem;font-weight:800}.keypad{grid-template-columns:repeat(3,72px);gap:.5rem;display:grid}.keypad button{height:60px;font-family:var(--font-display);color:var(--ink);cursor:pointer;background:#fff;border:0;border-radius:16px;font-size:1.7rem;font-weight:800;box-shadow:0 5px #c9c1ef,inset 0 0 0 2px #e4def9}.keypad button:active{transform:translateY(3px);box-shadow:0 2px #c9c1ef}.keypad .key-wide{grid-column:span 3;height:48px;font-size:1.3rem}.array-visual{gap:4px;font-size:1.5rem;line-height:1;display:grid}.pv-chart{border-collapse:separate;border-spacing:4px;font-family:var(--font-display)}.pv-chart th{background:var(--night-2);color:#fff;border-radius:10px 10px 0 0;padding:.3rem .6rem;font-size:.95rem}.pv-chart td{text-align:center;background:#f3f0ff;border-radius:0 0 10px 10px;min-width:54px;padding:.3rem;font-size:2.2rem;font-weight:800}.pv-chart td.hl{background:var(--sun);box-shadow:inset 0 0 0 3px #d8a032}.number-line{width:min(560px,100%);height:auto}.column-sum{text-align:right;color:var(--night);font-family:ui-monospace,Menlo,Consolas,monospace;font-size:2.4rem;font-weight:800;line-height:1.25}.column-sum .col-op{float:left;color:var(--coral,#e4572e)}.column-sum .col-line{border-top:4px solid var(--night);margin:.2rem 0}.column-sum .col-answer{color:var(--lilac)}.fraction-row{align-items:center;gap:.8rem;display:flex}.fraction-bar{border:3px solid var(--night);border-radius:10px;width:min(420px,62vw);height:44px;display:flex;overflow:hidden}.fraction-bar span{border-right:2px solid var(--night);background:#fff;flex:1}.fraction-bar span:last-child{border-right:0}.fraction-bar span.on{background:var(--sky)}.fraction-label{font-family:var(--font-display);min-width:3ch;font-size:1.6rem;font-weight:800}.clock{width:200px;height:200px}.data-table{border-collapse:collapse;background:#fff;border-radius:14px;font-size:1.1rem;overflow:hidden;box-shadow:0 0 0 2px #e4def9}.data-table caption{padding:.4rem;font-weight:800}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #ece8fb;padding:.45rem .9rem}.data-table thead th{background:#f3f0ff}.bar-chart{text-align:center;margin:0}.bar-chart figcaption{margin-bottom:.4rem;font-weight:800}.bars{border-bottom:3px solid var(--night);justify-content:center;align-items:flex-end;gap:.8rem;padding:0 .5rem;display:flex}.bar-col{flex-direction:column;align-items:center;gap:.2rem;display:flex}.bar{background:var(--sky);border-radius:8px 8px 0 0;width:42px}.bar-val{font-size:.95rem;font-weight:800}.bar-label{margin-bottom:-1.6rem;font-size:.9rem;font-weight:700}.bar-chart .bars+*{margin-top:1.8rem}.worked-steps{text-align:left;background:#f6f4ff;border-radius:20px;gap:.5rem;width:100%;max-width:620px;margin:0;padding:.9rem 1.2rem .9rem 2.4rem;font-size:1.12rem;font-weight:700;display:grid}.worked-steps li{animation:.3s slide-up}.band-older{background:linear-gradient(#1b2550 0%,#2b3a78 45%,#5b4d9a 80%,#8a6fb8 100%) fixed;font-size:1rem}.band-older .prompt{font-size:1.35rem}.band-older .stage{border-radius:24px}.band-older .passage{max-width:760px;font-size:1.05rem;font-weight:500;line-height:1.65}.band-older .choice.textual{font-size:1.02rem}.band-older .choices{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.band-older .numeral-visual{font-size:2.6rem}.band-early .choice{min-height:120px}.band-early .prompt{font-size:1.8rem}@media (max-width:520px){.keypad{grid-template-columns:repeat(3,64px)}.column-sum{font-size:2rem}}.adult{background:#f7f5fb;min-height:100%}.adult-top{border-bottom:1px solid var(--line);z-index:10;background:#fff;position:sticky;top:0}.adult-top .inner{flex-wrap:wrap;align-items:center;gap:1rem;max-width:1160px;margin:0 auto;padding:.7rem 1rem;display:flex}.brand{font-family:var(--font-display);color:var(--night);align-items:center;gap:.5rem;font-size:1.35rem;font-weight:800;text-decoration:none;display:flex}.adult-nav{flex-wrap:wrap;flex:1;gap:.25rem;display:flex}.adult-nav a{color:var(--muted);border-radius:999px;padding:.45rem .85rem;font-weight:700;text-decoration:none}.adult-nav a.active{color:var(--night);background:#eef0ff}.adult-main{max-width:1160px;margin:0 auto;padding:1.4rem 1rem 4rem}.adult h1{font-size:1.8rem}.kpis{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.8rem;display:grid}.kpi{box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;padding:.9rem 1rem}.kpi .v{font-family:var(--font-display);color:var(--night);font-size:1.7rem;font-weight:800}.kpi .l{color:var(--muted);font-size:.86rem;font-weight:700}.child-card{grid-template-columns:auto 1fr;align-items:center;gap:1rem;display:grid}.child-card .avatar-bg{background:radial-gradient(circle at 50% 70%,#fff3c4,#ffd8b5 60%,#f3c7ff);border-radius:24px;padding:.4rem}.statement{border-left:5px solid var(--good);background:#f8f9ff;border-radius:14px;margin-bottom:.5rem;padding:.75rem .9rem}.statement.learning{border-left-color:var(--sun-deep);background:#fffaf0}.statement.next{border-left-color:var(--sky);background:#f2f7ff}.statement.watch{border-left-color:var(--lilac);background:#f6f4ff}.statement small{color:var(--muted);margin-top:.2rem;display:block}.skill-table{border-collapse:collapse;width:100%;font-size:.95rem}.skill-table th,.skill-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:.55rem .5rem}.skill-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem}.conf{background:#eceef7;border-radius:999px;width:90px;height:8px;overflow:hidden}.conf>div{background:var(--sky);height:100%}.bars{align-items:flex-end;gap:4px;height:120px;padding-top:.5rem;display:flex}.bars .b{background:linear-gradient(var(--lilac), var(--sky));border-radius:6px 6px 0 0;flex:1;min-height:2px;position:relative}.bars .b span{color:var(--muted);white-space:nowrap;font-size:.68rem;position:absolute;bottom:-1.3rem;left:50%;transform:translate(-50%)}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px dashed var(--line);gap:.6rem;padding:.5rem 0;display:flex}.timeline time{color:var(--muted);min-width:90px;font-size:.85rem}.tabs{flex-wrap:wrap;gap:.3rem;margin:1rem 0;display:flex}.tabs button{color:var(--muted);cursor:pointer;box-shadow:var(--shadow-sm);background:#fff;border:0;border-radius:999px;padding:.5rem 1rem;font-weight:800}.tabs button.on{background:var(--night);color:#fff}.two-col{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (max-width:860px){.two-col{grid-template-columns:1fr}}.auth-wrap{background:linear-gradient(160deg,#24316a,#8e7dff 60%,#ffc3a0);place-items:center;min-height:100vh;padding:1rem;display:grid}.auth-card{width:min(520px,100%)}.landing{color:#fff;text-align:center;background:linear-gradient(#24316a 0%,#3d4f8f 45%,#a98bd9 75%,#ffc3a0 100%);align-content:center;justify-items:center;gap:1rem;min-height:100vh;padding:2rem 1rem;display:grid}.landing h1{color:#fff;margin:0;font-size:clamp(2.2rem,6vw,3.6rem)}.landing p{opacity:.95;max-width:640px;font-size:1.15rem}.landing .cast-row{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.notice{background:#fff8e1;border:1px solid #f5d27a;border-radius:14px;padding:.8rem 1rem}.code-area{border:2px solid var(--line);border-radius:12px;width:100%;min-height:420px;padding:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.status{text-transform:capitalize;font-weight:800}.status.published{color:var(--good)}.status.in_review{color:#a06800}.status.draft,.status.changes_requested{color:var(--muted)}.list-table{border-collapse:collapse;width:100%;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;overflow:hidden}.list-table th,.list-table td{text-align:left;border-bottom:1px solid var(--line);padding:.55rem .7rem;font-size:.92rem}.list-table tr:hover td{background:#faf9ff}.preview-box{background:linear-gradient(#3d4f8f,#a98bd9);border-radius:22px;padding:1rem}
