:root{--red:#ff354e;--orange:#ff9700;--yellow:#ffdc00;--green:#7cd600;--sky:#00aeef;--grape:#9146ef;--pink:#fa329d;--purple:#5231bc;--purple-deep:#3e2493;--ink:#1d2a5e;--ink-soft:#4a5680;--paper:#fff;--cream:#fffaf0;--cloud:#f3f1ff;--mist:#e9f8ff;--line:#e4ddff;--leaf:#4caf50;--rainbow:linear-gradient(90deg, var(--red) 0 14%, var(--orange) 14% 28%, var(--yellow) 28% 42%, var(--green) 42% 56%, var(--sky) 56% 70%, var(--grape) 70% 84%, var(--pink) 84%);--rainbow-soft:linear-gradient(135deg, #fff1f3, #fff4e5 20%, #fffbe0 40%, #eefbe0 60%, #e4f6ff 80%, #efe6ff);--radius:1.25rem;--radius-lg:2rem;--shadow:0 10px 30px #5231bc1a;--shadow-lift:0 18px 44px #5231bc2e;--font:"Nunito", "Segoe UI Rounded", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display:"Baloo 2", "Nunito", "Segoe UI", system-ui, sans-serif;--tap:3.25rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.55}img,svg{max-width:100%;height:auto;display:block}a{color:var(--purple);text-underline-offset:.18em}a:hover{color:var(--purple-deep)}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);margin:0 0 .5em;line-height:1.1}h1{font-size:clamp(2.2rem,5.5vw,4rem)}h2{font-size:clamp(1.6rem,3.4vw,2.5rem)}h3{font-size:clamp(1.25rem,2.2vw,1.6rem)}p{margin:0 0 1rem}button{font:inherit}:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:.5rem}[hidden]{display:none!important}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:100;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.container{width:min(100% - 2rem,72rem);margin-inline-start:auto;margin-inline-end:auto}.container-narrow{width:min(100% - 2rem,44rem);margin-inline-start:auto;margin-inline-end:auto}.section{padding-block-start:clamp(2.5rem,7vw,5rem);padding-block-end:clamp(2.5rem,7vw,5rem)}.stack>*+*{margin-top:var(--stack,1rem)}.cluster{gap:var(--gap,.75rem);flex-wrap:wrap;align-items:center;display:flex}.grid{gap:var(--gap,1.25rem);grid-template-columns:repeat(auto-fit, minmax(min(100%, var(--min,16rem)), 1fr));display:grid}.text-center{text-align:center}.muted{color:var(--ink-soft)}.small{font-size:.9rem}.eyebrow{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;color:var(--purple);margin-bottom:.5rem;font-size:.78rem;font-weight:800}.lead{color:var(--ink-soft);font-size:clamp(1.1rem,1.6vw,1.35rem)}.rainbow-text{background:var(--rainbow);color:#0000;-webkit-background-clip:text;background-clip:text}.rainbow-bar{background:var(--rainbow);height:6px}.btn{min-height:var(--tap);font-family:var(--font-display);color:#fff;background:var(--purple);cursor:pointer;white-space:nowrap;box-shadow:0 6px 0 var(--purple-deep);border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:1.05rem;font-weight:700;line-height:1.1;text-decoration:none;transition:transform .12s,box-shadow .12s,background .2s;display:inline-flex}.btn:hover{background:var(--purple-deep);color:#fff;transform:translateY(2px);box-shadow:0 4px #2b1868}.btn:active{transform:translateY(5px);box-shadow:0 1px #2b1868}.btn-lg{padding:.9rem 2rem;font-size:1.25rem}.btn-sm{min-height:2.5rem;box-shadow:0 4px 0 var(--purple-deep);padding:.4rem 1rem;font-size:.95rem}.btn-pink{background:var(--pink);box-shadow:0 6px #b7206f}.btn-pink:hover{background:#e01f86;box-shadow:0 4px #b7206f}.btn-sky{background:var(--sky);box-shadow:0 6px #0579a6}.btn-sky:hover{background:#0a9bd4;box-shadow:0 4px #0579a6}.btn-green{background:var(--green);color:#1e3d00;box-shadow:0 6px #5aa000}.btn-green:hover{color:#1e3d00;background:#6cc400;box-shadow:0 4px #5aa000}.btn-yellow{background:var(--yellow);color:#4a3c00;box-shadow:0 6px #d4b400}.btn-yellow:hover{color:#4a3c00;background:#f5d400;box-shadow:0 4px #d4b400}.btn-ghost{color:var(--purple);border:2px solid var(--line);box-shadow:0 4px 0 var(--line);background:#fff}.btn-ghost:hover{background:var(--cloud);color:var(--purple-deep);box-shadow:0 3px 0 var(--line)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.card{border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:1.5rem}.card-tint{background:var(--cloud)}.pill{background:var(--cloud);color:var(--purple);border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .8rem;font-size:.85rem;font-weight:700;display:inline-flex}.pill-sky{color:#006a94;background:#dff5ff}.pill-leaf{color:#2f6b00;background:#e8f8d8}.pill-grape{color:#5a1fb8;background:#efe4ff}.pill-pink{color:#a3135f;background:#ffe1f0}.pill-yellow{color:#6b5300;background:#fff6bf}.alert{border-radius:var(--radius);color:#2f6b00;background:#e8f8d8;border:2px solid #c6ec9b;margin-bottom:1rem;padding:.9rem 1.2rem;font-weight:700}.alert-warn{color:#6b5300;background:#fff6bf;border-color:#f2df70}.field{gap:.35rem;margin-bottom:1.1rem;display:grid}.field label{font-weight:800;font-family:var(--font-display)}.input,.select{width:100%;min-height:var(--tap);font:inherit;color:var(--ink);border:2px solid var(--line);background:#fff;border-radius:1rem;padding:.6rem 1rem}.input:focus,.select:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 4px #5231bc26}.error{color:#b3123f;font-size:.9rem;font-weight:700}.site-header{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--line);background:#ffffffeb;position:sticky;top:0}.site-header .bar{align-items:center;gap:1rem;min-height:4.5rem;display:flex}.brand{align-items:center;display:inline-flex}.brand img{width:clamp(120px,18vw,170px)}.site-nav{align-items:center;gap:.25rem;margin-left:auto;display:flex}.site-nav a{font-family:var(--font-display);color:var(--ink);border-radius:999px;padding:.55rem .9rem;font-weight:800;text-decoration:none}.site-nav a:hover,.site-nav a[aria-current=page]{background:var(--cloud);color:var(--purple)}.site-nav .btn{margin-left:.5rem}.nav-toggle{width:var(--tap);height:var(--tap);border:2px solid var(--line);color:var(--purple);cursor:pointer;background:#fff;border-radius:50%;margin-left:auto;font-size:1.5rem;display:none}@media (max-width:767.98px){.nav-toggle{place-items:center;display:inline-grid}.site-nav{border-bottom:2px solid var(--line);box-shadow:var(--shadow);background:#fff;flex-direction:column;align-items:stretch;padding:.75rem 1rem 1rem;display:none;position:absolute;top:100%;left:0;right:0}.site-nav.open{display:flex}.site-nav a{padding:.9rem 1rem}.site-nav .btn{margin:.5rem 0 0}}.site-footer{background:var(--ink);color:#d9d4ff;margin-top:4rem;padding:2.5rem 0 2rem}.site-footer a{color:#fff}.site-footer .cols{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem;display:grid}.site-footer h4{color:#fff;font-size:1rem}.site-footer ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero{background:var(--rainbow-soft);border-radius:var(--radius-lg);align-items:center;gap:2rem;margin-top:1.5rem;padding:clamp(2rem,6vw,4.5rem);display:grid;position:relative;overflow:hidden}@media (min-width:992px){.hero{grid-template-columns:1.1fr .9fr}}.hero:before{content:"";background:var(--rainbow);height:10px;position:absolute;top:0;bottom:auto;left:0;right:0}.hero h1{max-width:14ch}.hero .actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.hero-art{min-height:18rem;position:relative}.hero-art svg{width:100%;height:auto}.float{animation:4s ease-in-out infinite float}.float-slow{animation:6s ease-in-out infinite float}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}.twinkle{transform-origin:50%;animation:2.4s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.subject-grid{--min:15rem}.subject-card{color:var(--ink);border-radius:var(--radius-lg);min-height:14rem;box-shadow:var(--shadow);border:3px solid #0000;padding:1.75rem;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;position:relative;overflow:hidden}.subject-card:hover{box-shadow:var(--shadow-lift);color:var(--ink);transform:translateY(-4px)}.subject-card .icon{margin-bottom:.75rem;font-size:3rem;line-height:1}.subject-card h3{margin-bottom:.25rem}.subject-card.sky{background:#e4f6ff;border-color:#9fdcf7}.subject-card.leaf{background:#eefbe0;border-color:#b8ea7f}.subject-card.grape{background:#efe6ff;border-color:#c9adf8}.subject-card.pink{background:#ffe6f2;border-color:#ffb3d6}.subject-card.orange{background:#fff1e0;border-color:#ffcf96}.subject-card .count{font-family:var(--font-display);color:var(--purple);font-weight:800;position:absolute;bottom:1.25rem;right:1.25rem}.lesson-card{color:var(--ink);border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;grid-template-rows:auto 1fr auto;text-decoration:none;transition:transform .15s,box-shadow .15s;display:grid;overflow:hidden}.lesson-card:hover{box-shadow:var(--shadow-lift);color:var(--ink);transform:translateY(-4px)}.lesson-card .cover{aspect-ratio:16/10;place-items:center;font-size:4rem;display:grid}.lesson-card .cover.sky{background:linear-gradient(135deg,#c4f0ff,#e4f6ff)}.lesson-card .cover.leaf{background:linear-gradient(135deg,#d5f7b4,#eefbe0)}.lesson-card .cover.grape{background:linear-gradient(135deg,#dcc8ff,#efe6ff)}.lesson-card .body{padding:1.1rem 1.25rem .5rem}.lesson-card h3{margin-bottom:.25rem;font-size:1.25rem}.lesson-card .foot{justify-content:space-between;align-items:center;padding:.5rem 1.25rem 1.1rem;display:flex}.stars{color:#d9d4ff;letter-spacing:-.05em;gap:.1rem;font-size:1.1rem;display:inline-flex}.stars .on{color:var(--yellow);text-shadow:0 1px #c9a400}.steps{counter-reset:step;--min:14rem}.step{border-radius:var(--radius-lg);background:var(--cloud);padding:1.75rem 1.5rem 1.5rem;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--rainbow);color:#fff;width:2.5rem;height:2.5rem;font-family:var(--font-display);box-shadow:var(--shadow);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:-1rem;left:1.25rem}.pro-box{background:linear-gradient(120deg, var(--purple), var(--grape) 60%, var(--pink));color:#fff;border-radius:var(--radius-lg);padding:clamp(1.75rem,5vw,3.5rem)}.pro-box h2,.pro-box h3{color:#fff}.pro-box .price{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);font-weight:800;line-height:1}.pro-box ul{padding-left:1.2rem}.pro-box .btn{background:var(--yellow);color:#4a3c00;box-shadow:0 6px #d4b400}.faq details{border:2px solid var(--line);border-radius:var(--radius);background:#fff;margin-bottom:.75rem;padding:.9rem 1.2rem}.faq summary{font-family:var(--font-display);cursor:pointer;font-weight:800}.faq details p{margin:.75rem 0 0}.faq section{margin-bottom:1.5rem}.faq h2{margin-top:1rem;font-size:1.3rem}.auth-card{max-width:30rem;margin:3rem auto}.auth-card .btn{width:100%}.divider{color:var(--ink-soft);align-items:center;gap:1rem;margin:1.5rem 0;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:2px}.breadcrumbs{color:var(--ink-soft);flex-wrap:wrap;gap:.35rem;margin:1.25rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.breadcrumbs li+li:before{content:"›";margin-right:.35rem}.child-grid{--min:13rem}.child-card{border:2px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;gap:.75rem;padding:1.25rem;display:grid}.child-card .head{align-items:center;gap:.9rem;display:flex}.child-card .meta{color:var(--ink-soft);font-size:.9rem}.child-card .actions{flex-wrap:wrap;gap:.5rem;display:flex}.avatar{background:var(--cloud);border:3px solid var(--line);border-radius:50%;flex-shrink:0;place-items:center;width:4rem;height:4rem;font-size:2.2rem;display:grid}.avatar-lg{width:7rem;height:7rem;font-size:4rem}.avatar-picker{grid-template-columns:repeat(auto-fill,minmax(4.5rem,1fr));gap:.6rem;display:grid}.avatar-picker label{cursor:pointer}.avatar-picker input{opacity:0;position:absolute}.avatar-picker span{aspect-ratio:1;background:var(--cloud);border:3px solid var(--line);border-radius:1.25rem;place-items:center;font-size:2.4rem;transition:transform .12s;display:grid}.avatar-picker input:checked+span{border-color:var(--purple);background:#efe6ff;transform:scale(1.06);box-shadow:0 0 0 4px #5231bc26}.avatar-picker input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}.choice-row{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.6rem;display:grid}.choice-row label{cursor:pointer}.choice-row input{opacity:0;position:absolute}.choice-row span{min-height:var(--tap);border:3px solid var(--line);font-weight:800;font-family:var(--font-display);text-align:center;background:#fff;border-radius:1rem;place-items:center;gap:.1rem;padding:.6rem;display:grid}.choice-row span small{color:var(--ink-soft);font-weight:600;font-family:var(--font)}.choice-row input:checked+span{border-color:var(--purple);background:#efe6ff}.choice-row input:focus-visible+span{outline:3px solid var(--orange);outline-offset:2px}.progress-table{border-collapse:collapse;width:100%}.progress-table th,.progress-table td{border-bottom:2px solid var(--line);text-align:left;vertical-align:middle;padding:.7rem .6rem}.progress-table th{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-size:.85rem}.stat-row{--min:9rem}.stat{background:var(--cloud);border-radius:var(--radius);padding:1rem 1.2rem}.stat .num{font-family:var(--font-display);color:var(--purple);font-size:2rem;font-weight:800;line-height:1}.stat .lbl{color:var(--ink-soft);font-size:.85rem;font-weight:700}.kids-body{background:var(--rainbow-soft);min-height:100vh}.kids-top{align-items:center;gap:1rem;padding:1rem 0;display:flex}.kids-top .who{border:2px solid var(--line);font-family:var(--font-display);background:#fff;border-radius:999px;align-items:center;gap:.6rem;margin-left:auto;padding:.3rem 1rem .3rem .3rem;font-weight:800;display:inline-flex}.kids-top .who .avatar{border-width:2px;width:2.5rem;height:2.5rem;font-size:1.4rem}.kids-top .star-count{font-family:var(--font-display);color:#6b5300;background:#fff6bf;border-radius:999px;align-items:center;gap:.3rem;padding:.45rem .9rem;font-weight:800;display:inline-flex}.pick-grid{--min:11rem;margin-top:2rem}.pick-card{border:3px solid var(--line);border-radius:var(--radius-lg);text-align:center;background:#fff;justify-items:center;gap:.5rem;padding:1.25rem;display:grid}.pick-card .avatar{width:6rem;height:6rem;font-size:3.5rem}.pick-card h2{margin:0;font-size:1.5rem}.pick-card .btn{width:100%}.pin-row{gap:.5rem;width:100%;display:flex}.pin-row .input{text-align:center;letter-spacing:.4em;font-size:1.3rem;font-weight:800}.kid-hello{align-items:center;gap:1.5rem;padding:1.5rem 0 .5rem;display:grid}@media (min-width:768px){.kid-hello{grid-template-columns:auto 1fr}}.kid-hello h1{margin:0}.mascot{width:clamp(7rem,18vw,11rem)}.subject-lane{margin-top:2rem}.subject-lane h2{align-items:center;gap:.6rem;display:flex}.subject-lane .lane{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(15rem,1fr);grid-auto-flow:column;gap:1rem;padding:.5rem .25rem 1rem;display:grid;overflow-x:auto}.subject-lane .lesson-card{scroll-snap-align:start}.lesson-card .play-btn{font-size:1rem}
