.rp,.rp *{box-sizing:border-box}.rp{--ink:#13273d;--muted:#688096;--purple:#7656d8;--purple2:#9b7bea;--yellow:#ffd65a;--green:#58c99c;--blue:#67bde7;--pink:#ef8eb7;--paper:#fffefa;--line:#e7e8f3;color:var(--ink);width:100%;max-width:100%;font-family:inherit}.rp button{font:inherit}.rp-page,.rp-info{max-width:1220px;margin:0 auto}.rp-breadcrumb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:20px 0 14px;color:#7a8796;font-size:.75rem}.rp-breadcrumb a{color:#55768f;text-decoration:none}.rp-breadcrumb b{font-weight:700}.rp-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:1.08fr .92fr;min-height:470px;border:1px solid #e5e2f3;border-radius:30px;background:linear-gradient(135deg,#fffdf7 0%,#faf4ff 45%,#edf9ff 100%);box-shadow:0 24px 70px rgba(63,49,112,.08)}.rp-hero-copy{padding:60px 56px;align-self:center}.rp-kicker,.rp-info-tag{display:inline-flex;border-radius:999px;padding:8px 12px;background:#f0eaff;color:#7053cb;font-size:.7rem;font-weight:900;letter-spacing:.08em}.rp-hero h1{margin:16px 0 16px;font-size:clamp(2.7rem,5.6vw,5.4rem);line-height:.94;letter-spacing:-.06em}.rp-hero h1 em{display:block;color:#7d5bd8;font-style:normal}.rp-hero p{max-width:670px;margin:0;color:#60778d;font-size:1.02rem;line-height:1.75}.rp-start{display:inline-flex;align-items:center;gap:12px;margin-top:28px;border:0;border-radius:20px;padding:17px 25px;background:linear-gradient(135deg,#7353d3,#9873e7);color:white;box-shadow:0 12px 30px rgba(117,82,214,.25);font-size:1.05rem;font-weight:900;cursor:pointer}.rp-start:active{transform:translateY(1px)}.rp-start-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.18)}.rp-parent-benefits{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px}.rp-parent-benefits span{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid #ece6f6;color:#647486;font-size:.72rem;font-weight:700}.rp-hero-art{position:relative;min-height:470px;background:radial-gradient(circle at 65% 44%,rgba(255,214,90,.28),transparent 25%),linear-gradient(180deg,#e9f8ff,#f8f5ff);overflow:hidden}.rp-sun{position:absolute;right:42px;top:35px;font-size:66px;filter:drop-shadow(0 8px 12px rgba(229,169,39,.15))}.rp-cloud{position:absolute;font-size:55px;opacity:.8}.rp-cloud.c1{top:85px;left:38px}.rp-cloud.c2{right:75px;bottom:50px}.rp-letter{position:absolute;display:grid;place-items:center;width:90px;height:90px;border-radius:28px;color:#fff;font-size:3.3rem;font-weight:1000;box-shadow:0 18px 35px rgba(43,54,98,.13);transform:rotate(-8deg)}.rp-letter.la{top:72px;left:32%;background:#ee8cb7}.rp-letter.lm{top:190px;right:20%;background:#7560d8;transform:rotate(8deg)}.rp-letter.lb{bottom:50px;left:18%;background:#58c99c;transform:rotate(4deg)}.rp-mascot{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);display:grid;place-items:center}.rp-face{display:grid;place-items:center;width:150px;height:150px;border-radius:48% 52% 46% 54%;background:#ffd95f;font-size:78px;border:8px solid rgba(255,255,255,.75);box-shadow:0 18px 45px rgba(65,63,103,.16)}.rp-ear{position:absolute;left:-65px;top:32px;font-size:50px;transform:rotate(-12deg)}.rp-speech{position:absolute;white-space:nowrap;left:115px;top:-25px;padding:10px 14px;border-radius:17px 17px 17px 4px;background:#fff;color:#7055cc;font-weight:900;box-shadow:0 10px 24px rgba(71,62,111,.12)}.rp-parent-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 44px}.rp-parent-intro>div{padding:18px 20px;border:1px solid #e8eaf2;border-radius:18px;background:#fff}.rp-parent-intro b{font-size:.84rem}.rp-parent-intro p{margin:7px 0 0;color:#718295;font-size:.72rem;line-height:1.65}.rp-info{display:grid;grid-template-columns:1.15fr .85fr;gap:24px;padding:45px 0 65px}.rp-info h2{font-size:1.8rem;margin:12px 0}.rp-info p{color:#6f8092;line-height:1.8;font-size:.88rem}.rp-faq{display:grid;gap:9px}.rp-faq details{border:1px solid #e6e8f1;border-radius:15px;background:#fff;padding:0 15px}.rp-faq summary{cursor:pointer;padding:15px 0;font-weight:800}.rp-faq p{margin:0 0 15px}

/* Child focus mode */
.rp-game{position:relative;width:min(1100px,calc(100vw - 28px));min-height:min(760px,calc(100vh - 28px));margin:14px auto;border-radius:34px;overflow:hidden;background:linear-gradient(180deg,#fffefa,#f6f2ff);border:1px solid #e6e1f2;box-shadow:0 28px 80px rgba(47,38,89,.16)}.rp.is-playing .rp-page,.rp.is-playing .rp-info{display:none}.rp.is-playing{position:relative;z-index:30}.rp-gamebar{height:78px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:12px 18px;border-bottom:1px solid rgba(85,74,128,.08)}.rp-game-actions{display:flex;gap:8px}.rp-icon-btn{display:grid;place-items:center;width:52px;height:52px;border:0;border-radius:18px;background:#fff;color:#5a6575;font-size:1.35rem;box-shadow:0 5px 16px rgba(61,53,94,.08);cursor:pointer}.rp-parent-lock{font-size:1.1rem}.rp-progress-dots{display:flex;align-items:center;justify-content:center;gap:9px}.rp-progress-dots i{width:12px;height:12px;border-radius:50%;background:#ddd8ea;transition:.25s}.rp-progress-dots i.done{background:#62cda1;transform:scale(1.05)}.rp-progress-dots i.now{width:26px;border-radius:999px;background:#7d5ddd}.rp-stage{min-height:620px;padding:22px 28px 42px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start}.rp-stage-emoji{font-size:52px;line-height:1;margin-top:3px;filter:drop-shadow(0 7px 12px rgba(75,62,118,.1))}.rp-big-prompt{margin:10px 0 0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.08;letter-spacing:-.04em}.rp-voice-hint{margin:8px 0 5px;color:#7b8795;font-size:.82rem;font-weight:700}.rp-activity{width:100%;max-width:850px;min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:4px}.rp-feedback{min-height:42px;margin-top:4px;color:#6d7c8c;font-weight:850;font-size:1rem}.rp-feedback.good{color:#24956c}.rp-feedback.gentle{color:#a36e13}.rp-stars{pointer-events:none;position:absolute;inset:75px 0 0;overflow:hidden}.rp-stars i{position:absolute;top:45%;font-style:normal;font-size:30px;animation:rp-pop 1s ease-out forwards}@keyframes rp-pop{0%{transform:translateY(10px) scale(.3);opacity:0}35%{opacity:1}100%{transform:translateY(-150px) rotate(30deg) scale(1.2);opacity:0}}

/* Reusable child controls */
.rp-touch-card{display:grid;place-items:center;width:min(340px,75vw);min-height:310px;border:0;border-radius:42px;background:linear-gradient(145deg,#fff,#f4efff);box-shadow:0 18px 50px rgba(70,51,120,.12),inset 0 0 0 2px #eee6ff;cursor:pointer}.rp-touch-card:active{transform:scale(.985)}.rp-giant-letter{font-size:clamp(8rem,24vw,13rem);line-height:.9;font-weight:1000;color:#7656d8;text-shadow:0 9px 0 #e9e2fb}.rp-big-picture{font-size:clamp(6rem,19vw,10rem);line-height:1}.rp-touch-label{margin-top:14px;font-size:1.5rem;font-weight:1000;color:#33485d}.rp-tap-pulse{animation:rp-breathe 1.7s ease-in-out infinite}@keyframes rp-breathe{50%{transform:scale(1.045);box-shadow:0 22px 60px rgba(117,86,216,.18),inset 0 0 0 4px #ded2fb}}
.rp-choice-grid{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.rp-choice{min-width:0;min-height:180px;border:2px solid #e8e4f1;border-radius:30px;background:#fff;color:#263b50;font-size:clamp(4rem,11vw,7rem);font-weight:1000;cursor:pointer;box-shadow:0 10px 24px rgba(56,48,91,.07);transition:.16s}.rp-choice:hover{border-color:#d1c5ef}.rp-choice:active{transform:scale(.97)}.rp-choice.hint{border-color:#f0c842;background:#fff9d8;animation:rp-hint .9s ease-in-out infinite}@keyframes rp-hint{50%{transform:scale(1.035)}}.rp-choice.gentle-wrong{animation:rp-wiggle .35s ease}@keyframes rp-wiggle{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.rp-choice.correct{border-color:#64cda2;background:#edfff7}.rp-picture-choice{font-size:6.7rem;min-height:210px}.rp-picture-choice span{display:block}.rp-picture-choice small{display:block;margin-top:8px;font-size:1.05rem;color:#526779}.rp-syllable-choice{font-size:3rem;min-height:140px}.rp-letter-pair{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;margin:10px 0 28px}.rp-sound-bubble{display:grid;place-items:center;width:180px;height:180px;border:0;border-radius:48px;background:#fff;box-shadow:0 15px 35px rgba(62,54,98,.1),inset 0 0 0 2px #e8e1f8;color:#7456d8;font-size:6rem;font-weight:1000;cursor:pointer}.rp-sound-bubble.heard{background:#ecfff6;box-shadow:0 15px 35px rgba(55,137,103,.09),inset 0 0 0 3px #75d7ad}.rp-plus{font-size:3rem;color:#a6a2ae;font-weight:900}.rp-join{min-width:240px;border:0;border-radius:24px;padding:17px 25px;background:#7757d8;color:white;font-size:2.2rem;font-weight:1000;cursor:pointer;box-shadow:0 12px 28px rgba(117,87,216,.24)}.rp-join:disabled{opacity:.32;box-shadow:none}.rp-merge{animation:rp-merge .6s ease}@keyframes rp-merge{50%{gap:0;transform:scale(1.08)}}
.rp-word-picture{font-size:7rem;margin-bottom:10px}.rp-slots{display:flex;gap:12px;justify-content:center;margin:6px 0 20px}.rp-slot{display:grid;place-items:center;min-width:120px;height:95px;padding:0 14px;border:3px dashed #cfc6e6;border-radius:24px;color:#a39aae;font-size:2.6rem;font-weight:1000;background:#fbf9ff}.rp-slot.filled{border-style:solid;border-color:#75d5ad;background:#ecfff7;color:#278f6a}.rp-word-result{margin:10px 0 0;font-size:clamp(3rem,9vw,5.5rem);font-weight:1000;color:#7154d0;letter-spacing:.05em}.rp-next-btn{border:0;border-radius:24px;padding:17px 30px;background:#7656d8;color:#fff;font-size:1.25rem;font-weight:1000;cursor:pointer;box-shadow:0 12px 28px rgba(117,87,216,.22)}

/* tracing */
.rp-trace-wrap{position:relative;width:min(420px,80vw);height:min(420px,80vw);border-radius:38px;background:#fff;box-shadow:0 16px 42px rgba(59,49,91,.1);overflow:hidden}.rp-trace-letter{position:absolute;inset:0;display:grid;place-items:center;color:#eee8fa;font-size:min(310px,58vw);font-weight:1000;line-height:1;user-select:none}.rp-trace-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.rp-trace-meter{width:min(360px,75vw);height:12px;margin-top:18px;border-radius:999px;background:#e8e5ee;overflow:hidden}.rp-trace-meter i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#65cfa4,#7d5ddd);transition:.15s}

/* completion */
.rp-finish{display:grid;place-items:center;gap:10px}.rp-finish-emoji{font-size:8rem;animation:rp-bounce .8s ease}@keyframes rp-bounce{50%{transform:translateY(-14px)}}.rp-finish h3{font-size:3rem;margin:0;color:#6f51cc}.rp-finish p{margin:0;color:#718194;font-weight:700}.rp-finish-actions{display:flex;gap:12px;margin-top:15px}.rp-finish-actions button{border:0;border-radius:22px;padding:15px 22px;font-weight:900;cursor:pointer}.rp-finish-actions .primary{background:#7656d8;color:#fff}.rp-finish-actions .secondary{background:#fff;color:#657487;border:1px solid #e4e4ee}

/* parent dialog */
.rp-parent-dialog{width:min(620px,calc(100vw - 28px));border:0;border-radius:24px;padding:0;box-shadow:0 30px 100px rgba(20,17,38,.28)}.rp-parent-dialog::backdrop{background:rgba(25,20,42,.52);backdrop-filter:blur(4px)}.rp-parent-box{padding:22px}.rp-parent-head{display:flex;justify-content:space-between;align-items:center}.rp-parent-head>div{display:flex;align-items:center;gap:10px}.rp-parent-head h2{margin:0;font-size:1.25rem}.rp-close{width:40px;height:40px;border:0;border-radius:12px;background:#f2f1f6;font-size:1.5rem;cursor:pointer}.rp-parent-box>p{color:#6e7e90;line-height:1.6;font-size:.8rem}.rp-parent-list{display:grid;gap:8px;margin:14px 0}.rp-parent-level{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px;border:1px solid #e5e5ed;border-radius:14px;background:#fff;text-align:left;cursor:pointer}.rp-parent-level b{display:block}.rp-parent-level small{color:#84909e}.rp-parent-level[disabled]{opacity:.5}.rp-parent-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rp-parent-controls button{border:1px solid #e1e3ea;border-radius:13px;padding:11px;background:#f9fafc;cursor:pointer}.rp-parent-controls .danger{grid-column:1/-1;color:#9d4052;background:#fff5f6}.rp-parent-small{font-size:.67rem!important}

@media(max-width:900px){.rp-page,.rp-info{padding-left:14px;padding-right:14px}.rp-hero{grid-template-columns:1fr}.rp-hero-copy{padding:42px 32px 22px}.rp-hero-art{min-height:330px}.rp-parent-intro{grid-template-columns:1fr}.rp-info{grid-template-columns:1fr}.rp-choice{min-height:150px}.rp-picture-choice{font-size:5.5rem}.rp-sound-bubble{width:145px;height:145px;font-size:5rem}.rp-stage{min-height:570px}}
@media(max-width:620px){.rp-hero{border-radius:22px}.rp-hero-copy{padding:34px 22px 16px}.rp-hero h1{font-size:3.25rem}.rp-hero p{font-size:.9rem}.rp-hero-art{min-height:300px}.rp-letter{width:70px;height:70px;border-radius:22px;font-size:2.6rem}.rp-face{width:125px;height:125px;font-size:64px}.rp-game{width:100%;min-height:100dvh;margin:0;border:0;border-radius:0}.rp-gamebar{height:68px;padding:8px 10px}.rp-icon-btn{width:48px;height:48px;border-radius:16px}.rp-progress-dots{gap:6px}.rp-progress-dots i{width:9px;height:9px}.rp-progress-dots i.now{width:20px}.rp-stage{min-height:calc(100dvh - 68px);padding:15px 14px 25px}.rp-stage-emoji{font-size:44px}.rp-big-prompt{font-size:2rem}.rp-voice-hint{font-size:.75rem}.rp-activity{min-height:350px}.rp-choice-grid{gap:9px}.rp-choice{min-height:125px;border-radius:22px;font-size:4.4rem}.rp-picture-choice{font-size:4.7rem;min-height:160px}.rp-picture-choice small{font-size:.85rem}.rp-syllable-choice{font-size:2.45rem;min-height:105px}.rp-touch-card{min-height:300px;border-radius:34px}.rp-giant-letter{font-size:10rem}.rp-letter-pair{gap:10px}.rp-sound-bubble{width:125px;height:125px;border-radius:34px;font-size:4.3rem}.rp-plus{font-size:2.2rem}.rp-join{min-width:210px;font-size:1.8rem}.rp-word-picture{font-size:6rem}.rp-slot{min-width:95px;height:82px;font-size:2.1rem}.rp-feedback{font-size:.92rem}.rp-finish h3{font-size:2.4rem}.rp-finish-emoji{font-size:6.8rem}.rp-finish-actions{flex-direction:column;width:min(320px,90vw)}.rp-finish-actions button{width:100%}}
@media(max-width:390px){.rp-choice{font-size:3.8rem}.rp-picture-choice{font-size:4.1rem}.rp-sound-bubble{width:110px;height:110px;font-size:3.9rem}.rp-stage{padding-left:10px;padding-right:10px}}
@media(prefers-reduced-motion:reduce){.rp *{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
