:root{--ink:#183e43;--teal:#167d7f;--cream:#fffaf0;--yellow:#ffd167}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:ui-rounded,'Trebuchet MS',sans-serif}button{font:inherit;cursor:pointer;color:inherit;touch-action:manipulation}button:focus-visible{outline:4px solid #be4771;outline-offset:5px}header{max-width:1200px;margin:auto;padding:22px 32px;display:flex;justify-content:space-between;gap:12px;align-items:center}.brand{display:flex;align-items:center;border:0;background:none;text-align:left;font-size:22px;line-height:1.1}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%;margin-right:10px}.brand b{display:block;color:var(--teal)}.settings{display:flex;gap:10px}.settings button,.small{border:1px solid #d8dfd7;background:white;border-radius:25px;padding:12px 18px;font-size:14px;min-height:46px}main{max-width:1140px;margin:auto;padding:12px 30px 45px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:20px}.eyebrow{font-size:13px;letter-spacing:2px;font-weight:bold;color:var(--teal);text-transform:uppercase}h1{font-size:clamp(36px,5.4vw,64px);line-height:1.08;letter-spacing:-2px;margin:18px 0}h1 em{font-style:normal;color:var(--teal)}p{font-size:19px;line-height:1.6}.hero img{width:100%;max-height:340px;object-fit:contain;mix-blend-mode:multiply}.pill{display:inline-block;border-radius:20px;padding:8px 14px;background:#f3e8ca;font-size:14px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 18px}h2{font-size:27px;margin:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{text-align:left;border:0;border-radius:24px;padding:24px;min-height:200px;box-shadow:0 5px 0 #183e4310;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card strong{display:block;font-size:24px;margin:15px 0 7px}.card p{font-size:15px;margin:0}.card .icon{font-size:36px}.c0{background:#d9f0ec}.c1{background:#ffe6b4}.c2{background:#f9dce4}.c3{background:#e5e2f5}.c4{background:#e7edd0}.quote{padding:22px;text-align:center;font-weight:bold;color:var(--teal);font-size:22px}.game{background:white;border:1px solid #e8e7dd;border-radius:30px;padding:30px;text-align:center;min-height:530px}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.stars{color:#9a6911;font-size:22px;letter-spacing:5px}.game h1{font-size:38px;letter-spacing:-1px;margin-bottom:10px}.prompt{font-size:24px;font-weight:bold;margin:20px 0}.options{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;margin:25px 0}.choice{border:3px solid #e0e9e6;background:#fffdf6;border-radius:24px;min-width:140px;min-height:150px;padding:18px;font-size:21px;font-weight:bold;transition:transform .2s}.choice:hover{transform:scale(1.04);border-color:var(--teal)}.swatch{width:86px;height:86px;border-radius:50%;margin:0 auto 16px;border:2px solid #183e4320}.choice svg{width:100px;height:90px;display:block;margin:0 auto 16px}.feedback{min-height:65px;font-size:21px;font-weight:bold;color:var(--teal)}.primary{border:0;border-radius:30px;padding:17px 26px;background:var(--teal);color:white;font-weight:bold;min-height:52px}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.clock{width:min(260px,75vw);height:auto;display:block;margin:20px auto}.clock-choice{min-width:100px;min-height:70px}.scene{position:relative;width:100%;max-width:850px;margin:24px auto;border-radius:20px;overflow:hidden}.scene img{width:100%;display:block}.hotspot{position:absolute;left:82%;top:77%;width:13%;height:18%;background:transparent;border:0;border-radius:50%}.hint .hotspot{border:4px dashed #ffffff;box-shadow:0 0 0 4px #167d7f}.found .hotspot{border:5px solid #ffd167;background:#ffd16730}.word-icon{font-size:64px;display:block;margin-bottom:12px}.parent{text-align:left;max-width:730px;margin:auto}.parent li{line-height:1.8;margin:10px 0}.parent h1{font-size:40px}.celebrate{font-size:76px;margin:20px}footer{max-width:1140px;margin:auto;padding:25px 30px;border-top:1px solid #e6e4d6;font-size:14px}footer span{float:right;color:#65797b}.note{font-size:14px;color:#65797b}.back{background:none;border:0;padding:14px;font-weight:bold}.round-label{font-size:14px;color:#65797b}@media(max-width:760px){header{padding:16px}.settings{gap:5px}.settings button{font-size:12px;padding:10px}.brand{font-size:17px}.brand img{width:40px;height:40px}main{padding:10px 16px 30px}.hero{grid-template-columns:1fr 0.8fr;gap:0}.hero h1{font-size:36px}.hero p{font-size:16px}.hero img{max-height:250px}.cards{grid-template-columns:repeat(2,1fr);gap:12px}.card{padding:20px;min-height:190px}.card strong{font-size:21px}.game{padding:20px 12px}.choice{min-width:105px;min-height:135px;padding:12px;font-size:18px}.options{gap:10px}.swatch{width:68px;height:68px}.choice svg{width:80px;height:75px}.game h1{font-size:30px}.prompt{font-size:21px}footer span{float:none;display:block;margin-top:8px}}@media(max-width:420px){.hero{grid-template-columns:1fr}.hero img{height:200px;grid-row:1}.hero h1{font-size:39px}.hero{text-align:center}.settings button{max-width:90px}.cards{grid-template-columns:1fr 1fr}.card{padding:16px}.card p{font-size:14px}.choice{min-width:90px}.stars{font-size:17px;letter-spacing:2px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.card-portrait{position:relative;height:170px;margin:-10px -10px 18px;border-radius:18px;overflow:hidden;background:#fffaf0}.card-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 35%;display:block}.c2 .card-portrait img,.c4 .card-portrait img{object-fit:contain;object-position:center}.activity-badge{position:absolute;right:10px;bottom:10px;background:#fffaf0;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:26px;box-shadow:0 2px 6px #183e4320}.card strong{margin-top:0}@media(max-width:760px){.card-portrait{height:150px}}@media(max-width:420px){.card-portrait{height:125px;margin:-5px -5px 14px}.activity-badge{width:36px;height:36px;font-size:22px}}

.buddy{display:flex;justify-content:center;align-items:center;gap:15px;margin:16px auto;max-width:450px}.buddy img{width:105px;height:105px;border-radius:50%;object-fit:cover;border:5px solid #ffd167;box-shadow:0 5px 0 #183e4310}.speech-bubble{background:#d9f0ec;border-radius:20px 20px 20px 3px;padding:16px;font-size:18px;font-weight:bold;text-align:left}.song-controls{display:flex;justify-content:center;gap:10px}.song-line{font-size:17px;color:#167d7f;font-weight:bold;min-height:24px;margin:12px 0}.hero-song{margin-top:18px}.talking img{animation:wiggle .8s ease-in-out infinite}.dancing img{animation:dance .8s ease-in-out infinite}.happy img{animation:cheer .5s ease-in-out 2}@keyframes wiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes dance{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-8px) rotate(5deg)}}@keyframes cheer{50%{transform:translateY(-12px) scale(1.05)}}@media(prefers-reduced-motion:reduce){.buddy img{animation:none!important}}@media(max-width:420px){.buddy img{width:80px;height:80px}.speech-bubble{font-size:16px;padding:12px}}

.hunt-picker{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:20px 0}.hunt-button{background:#fffaf0;border:2px solid #e0e9e6;border-radius:18px;padding:12px 16px;min-height:65px;font-weight:bold}.hunt-button span{display:block;font-size:27px;margin-bottom:6px}.hunt-button.selected{border-color:#167d7f;background:#d9f0ec;box-shadow:0 3px 0 #167d7f30}@media(max-width:420px){.hunt-button{padding:10px;font-size:14px;flex:1 0 28%}}

.native-player{max-width:340px;margin:14px auto}.native-player audio{width:100%;display:block;min-height:50px}.hero-song .native-player{margin-left:0}@media(max-width:420px){.hero-song .native-player{margin-left:auto}}

.c5{background:#f9e1c9}.dress-people{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0}.person{border:3px solid transparent;background:#fffaf0;border-radius:18px;padding:10px;min-width:100px;font-weight:bold}.person img{width:65px;height:65px;object-fit:cover;border-radius:50%;display:block;margin:0 auto 8px}.person.selected{border-color:#167d7f;background:#d9f0ec}.dress-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:center;max-width:850px;margin:20px auto}.dress-stage{background:#eef6f0;border-radius:26px;padding:16px;min-height:400px}.dress-stage svg{width:100%;max-width:300px;height:auto;display:block;margin:auto}.outfit-label{font-size:17px;line-height:1.5;font-weight:bold;text-transform:capitalize}.dress-tabs{display:flex;justify-content:center;gap:8px}.dress-tabs .active{background:#167d7f;color:white;border-color:#167d7f}.clothing-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clothing{border:3px solid #e0e9e6;background:#fffaf0;border-radius:18px;padding:16px;font-weight:bold;min-height:135px}.clothing svg{width:90px;height:75px;display:block;margin:0 auto 8px}.clothing.chosen{border-color:#167d7f;background:#d9f0ec}.outfit-pop{animation:outfit-pop .4s ease}@keyframes outfit-pop{50%{transform:scale(1.035)}}@media(max-width:650px){.dress-layout{grid-template-columns:1fr}.dress-stage{min-height:0}.dress-stage svg{max-width:220px}.clothing-options{grid-template-columns:repeat(4,1fr)}.clothing{padding:8px;font-size:14px;min-height:110px}.clothing svg{width:55px;height:60px}.person{min-width:70px;font-size:13px}.person img{width:50px;height:50px}}@media(max-width:380px){.clothing-options{grid-template-columns:1fr 1fr}}@media(prefers-reduced-motion:reduce){.outfit-pop{animation:none}}

.dress-stage canvas{display:block;max-width:320px;width:100%;height:auto;margin:auto}.dress-art-fallback{max-width:100%;height:auto}@media(max-width:650px){.dress-stage canvas{max-width:250px}}

.voice-retry{max-width:600px;margin:0 auto 15px;padding:16px 20px;background:#d9f0ec;border-radius:20px;text-align:center}.voice-retry[hidden]{display:none}.voice-retry audio{width:min(100%,340px);display:block;margin:12px auto 0}

.c6{background:#e7edd0}.c7{background:#f9e1c9}.level-picker{text-align:center;margin:25px 0}.level-picker .selected{background:var(--teal);color:white;border-color:var(--teal)}.level-picker .small{margin:4px}.kind-options{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:28px 0}.kind-options button{min-width:180px}.sample-color,.sample-shape,.sample-word{max-width:190px;padding:18px;margin:22px auto;border:2px dashed #c9dcd4;border-radius:22px;background:#fffaf0;font-size:22px}.sample-color svg,.sample-shape svg{width:110px;height:100px;display:block;margin:auto}.sample-color .swatch{display:block}.pattern-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin:22px 0}.pattern-tile{width:105px;border:2px solid #e0e9e6;border-radius:18px;padding:12px;font-size:15px;display:flex;align-items:center;justify-content:center;flex-direction:column}.pattern-tile .swatch{width:55px;height:55px;margin-bottom:8px;display:block}.pattern-tile svg{width:70px;height:60px;display:block}.mystery{font-size:42px;font-weight:bold;color:#be4771}.count-objects{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:650px;margin:25px auto}.count-object{position:relative;width:90px;height:90px;border:3px solid #e0e9e6;border-radius:20px;background:#fffaf0;font-size:47px}.count-object.counted{border-color:var(--teal);background:#d9f0ec}.count-marker{position:absolute;right:0;bottom:0;font-size:17px;border-radius:50%;background:var(--teal);color:white;width:28px;height:28px;line-height:28px}.letter-slots{display:flex;gap:15px;justify-content:center;margin:25px 0}.letter-slot{display:grid;place-items:center;width:65px;height:70px;border-bottom:4px solid var(--teal);background:#fffaf0;border-radius:12px;font-size:38px;font-weight:bold}.letter-choice{min-width:70px;min-height:70px;font-size:34px;text-transform:lowercase}.word-model{font-size:28px;letter-spacing:5px;color:var(--teal)}.syllables{font-size:25px;letter-spacing:3px}.choice>span{display:block}.c4 .card-portrait img{object-fit:cover}.c6 .card-portrait img{object-fit:contain}@media(max-width:600px){.pattern-tile{width:78px;font-size:12px;padding:7px}.pattern-tile .swatch{width:40px;height:40px}.pattern-tile svg{width:55px;height:45px}.count-object{width:68px;height:68px;font-size:37px}.letter-choice{min-width:60px}.kind-options button{width:100%}}

@media(max-width:600px){header{flex-wrap:wrap}.settings{width:100%;justify-content:center;flex-wrap:wrap}.settings button{max-width:none!important;min-width:90px}.brand{margin:auto}.stars{letter-spacing:2px}}

/* Clear controls, large touch targets, and a single scroll surface. */
header{position:sticky;top:0;z-index:20;background:#fffaf0;border-bottom:1px solid #e6e4d6}.settings{flex-wrap:wrap}.settings button,.small,.primary,.back,.person,.hunt-button{min-height:60px}.brand{min-height:60px}a:focus-visible{outline:4px solid #be4771;outline-offset:4px}.note{color:#465e61}.song-line:empty{display:none}.game-title{font-size:38px;line-height:1.15;margin:20px 0}.embedded .hero,.embedded>header{display:none}.embedded main{padding-top:20px}footer nav{margin-bottom:18px;line-height:2}footer a{color:#12696b}.embedded footer{display:none}@media(max-width:600px){header{flex-wrap:wrap}.settings{width:100%;justify-content:space-between}.settings button{max-width:none!important;flex:1;font-size:13px}.game-title{font-size:30px}.cards{gap:14px}.game-top{flex-wrap:wrap}}

/* Clear activity pictures and matching clothing cards. */
.activity-badge{width:54px;height:54px;border:2px solid #fff;box-shadow:0 3px 9px #183e4326}.activity-badge svg{width:42px;height:42px;display:block}.dress-tabs{flex-wrap:wrap}.clothing svg{filter:drop-shadow(0 2px 1px #183e431c)}.clothing:focus-visible{outline:4px solid #be4771;outline-offset:4px}@media(max-width:650px){.clothing-options{grid-template-columns:repeat(2,minmax(0,1fr))}.clothing svg{width:80px;height:75px}.activity-badge{width:46px;height:46px}.activity-badge svg{width:35px;height:35px}}
