.speech-test{max-width:850px}.speech-test h1{margin-top:28px}.speech-settings{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.speech-settings label{display:flex;flex-direction:column;gap:8px;font-weight:700;min-width:0}.speech-settings select{font:inherit;width:100%;min-height:56px;border:2px solid #91a58d;border-radius:12px;background:#fffef9;padding:8px;color:#293e36}.speech-settings select:focus-visible,.speech-test a:focus-visible{outline:4px solid #2166c3;outline-offset:4px}.speech-samples{display:grid;grid-template-columns:1fr 1fr;gap:16px}.speech-samples button{min-height:96px;padding:16px;background:#e4eddb;color:#293e36;font-size:22px}.speech-samples button:nth-child(2){background:#ffe6c6}.speech-samples button:nth-child(3){background:#e0edf6}.speech-samples button:nth-child(4){background:#eee0f4}.speech-words{font-size:clamp(25px,4vw,36px);font-weight:800;min-height:108px;display:flex;align-items:center;justify-content:center;text-align:center;background:#fffef9;border-radius:24px;padding:20px;margin:24px 0 12px}.speech-status{min-height:105px;padding:8px 0}.speech-status p{margin:0 0 8px;font-weight:700}.speech-stop{width:100%;min-height:64px}.speech-checklist{margin-top:28px;padding:20px;border:1px solid #c8d3c2;border-radius:20px;background:#fffef9}.speech-checklist h2{margin-top:0;font-size:22px}.speech-checklist ol{padding-left:24px}.speech-checklist li{margin-bottom:12px}.speech-note{padding:14px;background:#fff0c9;border-radius:12px}.speech-test a{color:#28583d;display:inline-block;padding:12px}@media(max-width:560px){.speech-settings{grid-template-columns:1fr}.speech-samples{gap:12px}.speech-samples button{font-size:19px}.speech-test header{align-items:start;flex-direction:column}}:root{font-family:system-ui,Malgun Gothic,sans-serif;color:#2d443a;background:#f6f4eb;font-synthesis:none;line-height:1.5}*{box-sizing:border-box}html,body{margin:0;overscroll-behavior:none}button,select{font:inherit}button{cursor:pointer;border:0;border-radius:22px;min-height:56px;font-weight:750;color:inherit;touch-action:manipulation}button:focus-visible,[tabindex]:focus-visible,a:focus-visible{outline:4px solid #2365b2;outline-offset:4px}button:disabled{cursor:default}a{color:#426b50}main{max-width:1100px;margin:auto;padding:20px}header{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-weight:850;font-size:22px}.version{font-size:12px;color:#66776c}h1{font-size:clamp(25px,4vw,38px);letter-spacing:-.04em;line-height:1.25}footer{font-size:12px;color:#66776c;text-align:center}aside{padding:12px;background:#ffefc6;border-radius:18px}aside button{padding:8px 18px;margin:0 10px}.primary{background:#3f7055;color:#fff;padding:16px 24px;min-width:180px}.picture{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.study-app{height:100svh;max-height:1000px;display:flex;flex-direction:column;gap:12px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.study-app.playing{touch-action:none}.brand-mark{color:#dd8557;display:inline-block;font-size:30px;vertical-align:middle}.home-intro{text-align:center}.eyebrow{font-size:12px;letter-spacing:.1em;color:#8b6752}.home-intro h1{margin:8px 0}.home-intro p{margin:0;font-size:15px;color:#768171}.home-cards{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px}.activity-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:14px;border:2px solid #e9dbbe;box-shadow:0 5px #e5d7bb;background:#ffedca;min-height:96px;transition:transform .15s}.activity-card:active{transform:scale(.97)}.card-sound{background:#e5eedb;border-color:#d2dfc5;box-shadow:0 5px #d2dfc5}.card-snack{background:#f9e1df;border-color:#efd0cd;box-shadow:0 5px #efd0cd}.card-float{background:#dfeef6;border-color:#c7dfe9;box-shadow:0 5px #c7dfe9}.card-art{position:relative;height:clamp(58px,15svh,145px);width:clamp(80px,20svh,180px)}.card-art>.picture{position:relative;z-index:1}.card-label{font-size:clamp(19px,2.5vw,26px)}.activity-card small{font-size:12px;font-weight:500;color:#666c58}.card-cover{position:absolute;right:0;bottom:-2px;border-radius:12px;background:#e6b16b;font-size:28px;line-height:1.1;padding:0 12px;z-index:2;transform:rotate(10deg)}.music-note{position:absolute;right:-15px;top:0;font-size:40px;color:#738b61;transform:rotate(12deg)}.card-count{position:absolute;bottom:-2px;right:-8px;z-index:2;font-size:14px;color:#ca6755;background:#fff8ed;padding:0 7px;border-radius:15px;white-space:nowrap}.card-water{position:absolute;left:-10%;right:-10%;bottom:-2%;height:40%;background:#8ec6db;border-radius:50%;opacity:.6}.home-tools{display:flex;justify-content:center;align-items:center;gap:24px;font-size:12px}.home-tools button{min-height:36px;background:transparent;padding:0 10px;font-size:13px}.play-shell{display:flex;flex-direction:column;flex:1;min-height:0}.play-top{display:flex;gap:12px;align-items:center;justify-content:space-between}.play-name{font-size:16px;font-weight:750}.home-button{position:relative;flex-shrink:0;width:96px;height:96px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#e9ece0;overflow:hidden;touch-action:none}.home-button svg{width:34px;height:34px;z-index:1}.home-button small{font-size:12px;z-index:1}.home-button:before{content:"";position:absolute;inset:4px;border:5px solid #78966d;border-radius:18px;clip-path:inset(100% 0 0);pointer-events:none}.home-button.holding:before{animation:hold-fill .8s linear forwards}.progress{display:flex;gap:6px;flex-shrink:0}.progress span{width:9px;height:9px;border-radius:50%;background:#d7ddcf}.progress .filled{background:#658460}.tap-stage{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;border-radius:32px;touch-action:none;background:#fffdf5;margin-top:12px;padding:20px}.tap-stage:focus-visible{outline-offset:-6px}.feedback{font-size:clamp(26px,4vw,38px);font-weight:800;text-align:center;margin:18px 0 8px;line-height:1.4;min-height:1.4em}.tap-hint{font-size:14px;color:#818773;margin:12px 0 0}.tap-hint span{font-size:26px;color:#b1bc98}.tap-feedback{position:absolute;z-index:5;font-size:48px;color:#e1a84a;pointer-events:none;animation:tap-spark .45s ease-out forwards}.peek-scene{position:relative;width:clamp(150px,32svh,300px);height:clamp(150px,32svh,300px)}.peek-picture{height:100%;width:100%;opacity:0;transform:scale(.5);transition:opacity .2s,transform .4s}.peek-cover{position:absolute;inset:0;border-radius:28px;background:#dcb389;border:8px solid #e9c9a1;display:grid;place-items:center;transition:transform .4s,opacity .3s}.peek-cover span{font-size:100px;color:#fff7dc;font-weight:900}.peek-cover i{position:absolute;bottom:-8px;left:15%;right:15%;height:14px;background:#c8996e;border-radius:50%}.revealed .peek-picture{opacity:1;transform:scale(1)}.revealed .peek-cover{opacity:0;transform:translateY(-100%) rotate(-12deg)}.sound-friends{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;width:100%;max-width:800px}.sound-friend{position:relative;flex:1;min-width:96px;max-width:220px;min-height:145px;background:#e8efdd;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px}.sound-friend:nth-child(2){background:#f9e6cc}.sound-friend:nth-child(3){background:#e4edf5}.sound-friend .picture{width:clamp(70px,15vw,145px);height:clamp(70px,15vw,145px)}.sound-friend span{font-size:18px}.visited{position:absolute;right:10px;top:4px;font-style:normal;color:#62885b}.bouncing{animation:bounce .5s ease-in-out}.snack-scene{display:flex;flex-direction:column;align-items:center;gap:15px;max-width:500px;width:100%}.snack-bear{height:clamp(100px,23svh,220px);position:relative}.snack-bear .picture{width:100%}.snack-bear span{position:absolute;top:0;right:-25px;color:#dc9471;font-size:40px}.snack-bear.happy{animation:bounce .5s ease-in-out}.plate{display:flex;align-items:center;justify-content:center;gap:18px;background:#f0e9d9;border:7px solid #e0d5bd;border-radius:50%;height:100px;width:90%;max-width:390px}.plate .picture{width:65px;height:65px;transition:opacity .3s}.plate .eaten{opacity:0}.plate .eating{animation:eat .7s ease-in forwards}.count-dots{display:flex;gap:12px}.count-dots span{width:22px;height:22px;border-radius:50%;background:#e6e7da}.count-dots .filled{background:#d48961}.science-stage{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:28px;flex:1;min-height:0;padding:16px}.tank{position:relative;width:100%;height:clamp(180px,45svh,360px);background:#ecf7f6;border:7px solid #b4d7db;border-top:0;border-radius:0 0 40px 40px;overflow:hidden}.water{position:absolute;top:34%;bottom:0;width:100%;background:#a8dce6;border-radius:40% 40% 0 0/7% 7% 0 0}.water span{position:absolute;bottom:20%;left:20%;width:14px;height:14px;border:2px solid #dbf4f5;border-radius:50%}.water span:nth-child(2){bottom:45%;left:72%;width:9px;height:9px}.water span:nth-child(3){bottom:65%;left:40%;width:7px;height:7px}.tank-ground{position:absolute;bottom:0;left:8%;right:8%;height:8%;background:#dbcb9f;border-radius:50% 50% 0 0}.water-object{position:absolute;top:1%;left:36%;width:28%;height:28%;z-index:1;transition:top 1.1s ease-in-out}.observe .water-object.floating,.result .water-object.floating{top:20%}.observe .water-object.sinking,.result .water-object.sinking{top:66%}.science-controls{text-align:center}.science-controls h1{font-size:clamp(24px,3vw,32px);margin:0 0 18px}.object-tray{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.object-tray button{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-width:96px;min-height:120px;background:#ede8d8;padding:12px 6px;flex:1}.object-tray .picture{width:75px;height:75px}.object-tray span{font-size:16px}.prediction{display:flex;gap:12px;justify-content:center}.prediction button{min-width:110px;min-height:130px;flex:1;padding:12px 8px;background:#dfedda;font-size:18px;display:flex;flex-direction:column;align-items:center;justify-content:center}.prediction button:nth-child(2){background:#dbe9f5}.prediction span{font-size:55px;line-height:1.1}.science-controls .feedback{font-size:25px}.next-object{margin-top:12px;min-height:96px}.finish{flex:1;min-height:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.finish h1{margin:4px 0 16px}.finish-flower{font-size:100px;line-height:1;color:#de9266}.finish-home{min-height:96px;min-width:220px;font-size:24px}.float-summary{width:100%;max-width:600px;display:flex;flex-direction:column;gap:12px}.result-row{display:flex;align-items:center;gap:16px;background:#fffdf6;border-radius:20px;padding:12px;text-align:left}.result-row strong{font-size:16px;min-width:90px}.result-row>span{display:flex;flex-direction:column;align-items:center;flex:1}.result-row .picture{width:48px;height:48px}.result-row small{font-size:12px}.parent-tip{font-size:12px;margin:0;color:#75836e}.connection{font-size:13px}.connection.during-play{font-size:11px;padding:5px 12px;pointer-events:none;max-height:45px}.speech-test{height:auto}.speech-test footer{margin-top:22px}@keyframes tap-spark{0%{opacity:.8;transform:translate(-50%,-50%) scale(.4)}to{opacity:0;transform:translate(-50%,-80%) scale(1.2)}}@keyframes bounce{50%{transform:translateY(-14px) rotate(-4deg)}}@keyframes eat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-140px) scale(.4)}}@keyframes hold-fill{to{clip-path:inset(0)}}@media(max-width:600px){main{padding:14px}.study-app{gap:10px}.brand{font-size:18px}.version{font-size:10px}.home-intro h1{font-size:26px}.home-cards{gap:12px}.card-art{height:clamp(55px,13svh,115px)}.activity-card{padding:10px 4px;gap:3px}.card-label{font-size:19px}.activity-card small{font-size:11px}.play-name{font-size:14px}.play-top{gap:8px}.progress{gap:5px}.progress span{width:7px;height:7px}.tap-stage{padding:18px 10px;margin-top:8px}.sound-friends{gap:6px}.sound-friend{padding:12px 4px;min-height:130px}.sound-friend .picture{width:76px;height:76px}.sound-friend span{font-size:15px}.science-stage{grid-template-columns:1fr;grid-template-rows:minmax(140px,1fr) auto;gap:12px;padding:12px 0}.tank{width:75%;height:100%;max-height:250px;margin:auto}.object-tray button{min-width:96px;min-height:110px}.science-controls h1{font-size:25px;margin-bottom:10px}.science-controls .feedback{font-size:23px}.prediction button{min-height:110px}.finish-flower{font-size:80px}.finish h1{font-size:27px}.result-row{gap:8px;padding:10px}.result-row strong{font-size:13px;min-width:82px}}@media(max-height:500px)and (min-width:600px){.study-app{padding:10px 20px;gap:8px}.home-intro{display:none}.home-cards{grid-template-columns:repeat(4,1fr);grid-template-rows:1fr}.card-art{height:clamp(60px,26svh,120px)}.home-tools{gap:20px}.study-app footer{font-size:10px}.play-top{height:96px}.play-name{font-size:17px}.science-stage{padding:0 12px;gap:20px;grid-template-columns:1fr 1.6fr}.tank{height:100%;max-height:225px}.science-controls h1{margin-bottom:8px}.object-tray button{min-height:110px}.object-tray .picture{width:64px;height:64px}.prediction button{min-height:110px}.tap-stage{margin:0;padding:8px 20px;flex-direction:row;gap:32px}.peek-scene{width:170px;height:170px;flex-shrink:0}.tap-stage .feedback{font-size:30px;margin:0;min-width:120px}.tap-hint{display:none}.sound-friends{width:65%;gap:8px}.sound-friend{min-height:120px}.sound-friend .picture{width:72px;height:72px}.snack-scene{flex-direction:row;gap:15px;width:auto}.snack-bear{height:135px}.plate{width:220px;height:90px;gap:8px}.plate .picture{width:45px;height:45px}.count-dots{gap:6px}.count-dots span{width:15px;height:15px}.finish{display:grid;grid-template-columns:auto auto;gap:8px 28px;align-content:center;justify-content:center}.finish-flower{font-size:65px}.finish h1{font-size:28px;margin:0}.finish-home{grid-column:2;min-height:96px}.float-summary{grid-row:1/4;grid-column:1;width:320px}.finish:has(.float-summary) .finish-flower{display:none}.finish:has(.float-summary) h1{grid-column:2;font-size:24px}.parent-tip{grid-column:2}.result-row{gap:8px}.result-row strong{font-size:12px;min-width:80px}.result-row .picture{width:38px;height:38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.home-button.holding:before{clip-path:inset(0)}.tap-feedback{opacity:.5}.plate .eaten{opacity:0}}.connection.during-play{pointer-events:auto;max-height:none;flex-shrink:0}.connection.during-play button{font-size:11px;min-height:30px;margin-left:6px;padding:3px 10px}.connection.during-play p{margin:3px 0}.card-label{word-break:keep-all;letter-spacing:-.03em}@media(max-height:500px)and (min-width:600px){.card-label{font-size:17px}}.peek-picture{padding:0;background:transparent;border-radius:24px;min-height:0;cursor:pointer}.peek-picture:disabled{pointer-events:none}.peek-cover{pointer-events:none}.activity-card:disabled{cursor:default;box-shadow:none;border-style:dashed}.activity-card:disabled .card-art{opacity:.45}.activity-card:disabled small{font-weight:750;color:#6f745e}.activity-card:disabled:active{transform:none}.home-control{position:relative;flex-shrink:0;width:96px;height:96px}.home-hint{position:absolute;top:calc(100% + 8px);left:0;z-index:10;width:235px;padding:14px 16px;border-radius:14px;background:#365c48;color:#fff;font-size:16px;line-height:1.5;box-shadow:0 4px 14px #233c3720;pointer-events:none}.home-button small{font-size:11px}.peek-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:min(100%,340px);flex-shrink:0}.peek-content .peek-scene{width:clamp(120px,26svh,230px);height:clamp(120px,26svh,230px)}.peek-content .peek-picture{cursor:inherit}.peek-content .peek-word{font-size:clamp(26px,4vw,36px);line-height:1.3;min-height:1.3em;margin:4px 0}.replay-slot{height:112px;display:flex;align-items:center;justify-content:center;width:100%;flex-shrink:0}.replay-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:160px;min-width:96px;height:112px;min-height:96px;padding:8px 20px;border:3px solid #8ca97c;border-radius:34px;background:#e1edce;color:#365f42;box-shadow:0 5px #c7d7b5;animation:replay-invite .8s ease-in-out 1;touch-action:none}.replay-button svg{width:64px;height:56px;pointer-events:none}.replay-button span{font-size:14px;line-height:1.3;pointer-events:none}.replay-button:active{background:#d2e3b9}.replay-button[data-speaking=true] .speaker-waves path{animation:speaker-wave .7s ease-in-out infinite alternate}.replay-button[data-speaking=true] .speaker-waves path:nth-child(2){animation-delay:.18s}@keyframes replay-invite{0%,to{transform:scale(1)}50%{transform:scale(1.06);box-shadow:0 5px #c7d7b5,0 0 0 8px #dce8c180}}@keyframes speaker-wave{0%{opacity:.3}to{opacity:1}}@media(max-height:500px)and (min-width:600px){.tap-stage.peek{flex-direction:column;padding:2px 12px;gap:0}.peek-content{gap:3px}.peek-content .peek-scene{width:clamp(60px,calc(100svh - 330px),110px);height:clamp(60px,calc(100svh - 330px),110px)}.peek-content .peek-word{font-size:22px;line-height:1.2;min-height:1.2em;margin:0}.replay-slot,.replay-button{height:96px}.peek-cover span{font-size:48px}.peek-cover{border-width:5px;border-radius:16px}}.card-letters{background:#eee1f5;border-color:#decbea;box-shadow:0 5px #decbea}.card-blocks{background:#e3eee3;border-color:#ccddcd;box-shadow:0 5px #ccddcd}.letter-stage,.block-stage{flex:1;min-height:0;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;--block-height:36px}.letter-stage h1,.block-stage h1{font-size:clamp(24px,3vw,32px);margin:8px 0}.combine-board{width:100%;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.combine-board button{touch-action:none}.letter-parts{position:relative;display:flex;justify-content:center;align-items:center;gap:8px;width:240px;height:160px;margin:0 auto;font-size:90px;font-weight:850;line-height:1}.horizontal-vowel{flex-direction:column;gap:0}.horizontal-vowel>span,.horizontal-vowel>button{height:76px;min-height:76px;line-height:76px}.horizontal-vowel .vowel-piece{font-size:78px}.letter-slot{display:grid;place-items:center;width:110px;height:120px;border:3px dashed #b69cc8;background:#f4eaf9;color:#a489b9;font-size:70px;border-radius:24px}.horizontal-vowel .letter-slot{width:120px}.vowel-piece{display:block;color:#628a78;min-width:96px}.letter-tray{display:flex;justify-content:center;gap:12px;margin:10px auto 0}.letter-piece{width:100px;min-width:96px;height:100px;background:#eee0f5;color:#71578a;font-size:58px}.letter-piece>span,.block-friend>span{display:block}.letter-piece[aria-pressed=true]{box-shadow:0 0 0 4px #9276ad}.letter-piece[aria-pressed=true]>span{transform:translateY(-8px)}.ready-slot{animation:slot-glow 1s ease-in-out infinite}.combine-hint{font-size:14px;margin:12px 8px;color:#73816e}.combine-ghost{filter:drop-shadow(0 8px 8px #273a4533)}.letter-ghost{font-size:64px;background:#ead8f7;border-radius:20px;width:96px;height:96px;display:grid;place-items:center;color:#71578a}.emphasized{color:#71578a;background:#eee0f5;border-radius:18px}.completed-letter{position:absolute;inset:0;display:grid;place-items:center;background:#fffdf5;font-size:120px;border-radius:24px;animation:letter-join .35s ease-out}.letter-making>p{margin:8px 0;font-size:18px}.letter-word{display:flex;align-items:center;justify-content:center;gap:14px;font-size:25px}.letter-word .picture{width:84px;height:84px}.combine-next{min-height:96px;min-width:180px;font-size:23px}.letter-summary{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.letter-summary>span{font-size:clamp(32px,6vw,64px);padding:6px 10px;background:#eee1f5;border-radius:16px}.block-friends{display:flex;align-items:flex-end;justify-content:center;gap:44px;min-height:220px}.block-friend{display:flex;align-items:flex-end;justify-content:center;min-width:120px;min-height:120px;background:#edf0e4;padding:12px;border-radius:24px}.block-friend[aria-pressed=true]{outline:4px solid #5b8b75;outline-offset:2px}.block-friend[aria-pressed=true]>span{transform:translateY(-8px)}.block-tower{display:inline-flex;flex-direction:column;align-items:center;vertical-align:bottom}.block-tower>strong{font-size:32px;line-height:40px}.block-stack{display:flex;flex-direction:column-reverse;width:100px}.block-cell{display:flex;align-items:center;justify-content:center;height:var(--block-height,36px);background:#8cc3b1;border:2px solid #f6f4eb;border-radius:7px;font-style:normal}.block-cell:nth-child(2n){background:#edc17f}.face-cell{font-size:26px;line-height:1}.merged-friend{position:relative;display:inline-block;width:160px;animation:letter-join .3s ease-out}.merged-friend .block-stack{width:160px}.block-boundary{position:absolute;left:0;width:100%;height:32px;min-height:32px;border-radius:8px;background:transparent;color:#39594f;line-height:16px;padding:0;font-size:24px}.block-boundary:focus-visible{background:#fff9;outline-offset:0}.block-summary{display:flex;align-items:flex-end;justify-content:center;gap:16px;--block-height:26px}.block-summary .block-stack{width:60px}.block-summary .face-cell{font-size:20px}@keyframes slot-glow{50%{box-shadow:0 0 0 6px #a3c5ab77}}@keyframes piece-return{0%{transform:translate(var(--return-x),var(--return-y))}to{transform:translate(0)}}@keyframes letter-join{0%{transform:scale(.85);opacity:.5}to{transform:scale(1);opacity:1}}@media(max-width:600px){.home-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(96px,1fr))}.home-cards .card-art{height:clamp(44px,9svh,78px)}.home-cards .card-label{font-size:18px}.home-cards .activity-card{padding:6px 4px}.home-cards .activity-card small{font-size:10px}.letter-stage,.block-stage{gap:8px;--block-height:32px}.block-friends{gap:28px;min-height:210px}.letter-making>p{font-size:16px}.letter-word .picture{width:70px;height:70px}.letter-parts{height:146px}.block-summary{gap:10px}.block-summary .block-stack{width:52px}}@media(max-height:500px)and (min-width:600px){.home-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(96px,1fr));gap:10px}.home-cards .card-art{height:40px;width:70px}.home-cards .card-label{font-size:18px;line-height:1.2}.home-cards .activity-card{padding:6px;gap:2px}.home-cards .activity-card small{font-size:10px}.letter-stage,.block-stage{display:grid;grid-template-columns:1fr 180px;grid-template-rows:32px minmax(0,1fr);width:100%;gap:4px 16px;--block-height:24px}.letter-stage h1,.block-stage h1{grid-column:1/-1;font-size:23px;margin:0}.letter-board,.block-board{grid-column:1/-1}.letter-board{display:grid;grid-template-columns:1fr 1.5fr;align-items:center}.letter-board .letter-parts{grid-row:1/3;width:200px;height:140px;font-size:72px}.letter-tray{margin:0;gap:10px}.letter-board .combine-hint{grid-column:2;grid-row:2;margin:8px;font-size:12px}.letter-piece{height:96px}.letter-making{display:flex;align-items:center;justify-content:center;gap:12px;min-height:0}.letter-making .letter-parts{width:135px;height:140px;font-size:64px;flex-shrink:0}.letter-making .completed-letter{font-size:100px}.letter-making>p{max-width:120px;font-size:14px}.letter-word{flex-direction:column;gap:0;font-size:20px}.letter-word .picture{width:64px;height:64px}.combine-next{grid-column:2;grid-row:2;align-self:center}.block-friends{min-height:150px;gap:44px}.block-friend{min-height:96px;padding:6px 12px}.block-tower>strong{font-size:26px;line-height:30px}.block-board .combine-hint{margin:4px;font-size:12px}.block-stage:has(.combine-next) .block-board{grid-column:1}.merged-friend{justify-self:center}.block-summary{--block-height:20px}.block-summary .block-stack{width:45px}}@media(prefers-reduced-motion:reduce){.ready-slot,.completed-letter,.merged-friend{animation:none!important}.letter-piece>span,.block-friend>span{animation:none!important}}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.letter-stage{display:flex;justify-content:center;gap:0}.letter-round{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:32px minmax(128px,1fr) 248px;gap:8px;height:min(100%,540px);width:100%}.letter-round h1{grid-column:auto;font-size:27px;line-height:32px;height:32px;margin:0}.letter-canvas{position:relative;align-self:center;justify-self:center;width:240px;height:200px}.letter-glyph{position:absolute;left:10px;top:0;width:220px;height:200px;overflow:visible}.letter-glyph path{fill:none;stroke:currentColor;stroke-width:11;stroke-linecap:round;stroke-linejoin:round}.glyph-consonant,.glyph-vowel{transition:transform .7s cubic-bezier(.22,.65,.25,1),color .35s,opacity .25s;color:#2d443a}.glyph-emphasized{color:#805e9f}.vertical-glyph .glyph-consonant{transform:translate(-14px)}.vertical-glyph .glyph-vowel{transform:translate(14px)}.horizontal-glyph .glyph-consonant{transform:translateY(-10px)}.horizontal-glyph .glyph-vowel{transform:translateY(10px)}.letter-glyph.joined>g{transform:translate(0);color:#2d443a}.letter-round[data-phase=choose] .glyph-consonant{opacity:0}.letter-round[data-phase=choose][data-preview=true] .glyph-consonant{opacity:.4}.letter-canvas .letter-slot{position:absolute;left:8px;top:20px;width:110px;height:152px;min-height:0;background:transparent;border-radius:20px;font-size:50px;transition:opacity .2s}.horizontal-canvas .letter-slot{left:35px;top:0;width:170px;height:100px}.letter-round:not([data-phase=choose]) .letter-slot{visibility:hidden;opacity:0;pointer-events:none}.letter-detail{display:grid;grid-template-rows:40px 104px 96px;gap:4px;align-items:center;width:100%;min-height:0}.letter-caption{grid-column:1;grid-row:1;font-size:16px;line-height:20px;margin:0 8px;align-self:center}.letter-round .letter-tray{grid-column:1;grid-row:2;justify-self:center;margin:0;gap:10px}.letter-round .letter-tray[hidden]{display:none}.letter-round .letter-word{grid-column:1;grid-row:2;display:flex;flex-direction:row;gap:12px;justify-self:center;font-size:26px;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .3s,transform .3s,visibility .3s}.letter-round .letter-word.word-visible{opacity:1;visibility:visible;transform:translateY(0)}.letter-word mark{background:#eadcf5;color:#704a8a;border-radius:7px;padding:0 2px}.letter-round .letter-word .picture{width:84px;height:84px}.letter-actions{grid-column:1;grid-row:3;justify-self:center}.letter-actions .combine-next{margin:0}.letter-round:not([data-phase=result]) .letter-actions{visibility:hidden;pointer-events:none}.block-stage{display:grid;grid-template-columns:1fr;grid-template-rows:40px minmax(210px,1fr) 96px;align-content:center;gap:8px;max-height:500px;width:100%;margin:auto 0}.block-stage h1{margin:0;height:40px;font-size:25px;line-height:40px;grid-column:1;grid-row:1}.block-arena{position:relative;grid-column:1;grid-row:2;width:100%;height:100%;max-height:270px;align-self:center}.block-arena .block-board{height:100%;display:flex;flex-direction:column;justify-content:flex-end}.block-arena .block-friends{min-height:0;height:calc(100% - 35px);flex:1}.block-arena .combine-hint{height:30px;line-height:15px;margin:5px 4px 0;font-size:12px}.block-arena .merged-friend{position:absolute;bottom:47px;left:calc(50% - 80px);animation:none}.block-actions{grid-column:1;grid-row:3;align-self:center;justify-self:center}.block-cell{transform-origin:0 0}.block-cell.cool-cell{background:#8cc3b1}.block-cell.warm-cell{background:#edc17f}@media(max-width:600px){.letter-round{grid-template-rows:32px minmax(116px,1fr) 244px;gap:4px}.letter-canvas{width:220px;height:180px}.letter-glyph{left:0;width:220px;height:180px}.letter-canvas .letter-slot{left:0;top:16px;width:106px;height:140px}.horizontal-canvas .letter-slot{left:23px;top:0;width:174px;height:88px}.letter-detail{grid-template-rows:40px 100px 96px}.letter-caption{font-size:14px}.letter-round .letter-word .picture{width:76px;height:76px}.block-stage{grid-template-rows:40px minmax(190px,1fr) 96px;max-height:480px}.block-stage h1{font-size:22px}.block-arena .block-friends{gap:28px}.block-arena .merged-friend{bottom:47px}}@media(max-height:500px)and (min-width:600px){.letter-round{height:100%;grid-template-columns:220px minmax(0,1fr);grid-template-rows:32px minmax(0,1fr);gap:4px 8px}.letter-round h1{grid-column:1/-1;grid-row:1;font-size:23px}.letter-canvas{grid-column:1;grid-row:2;width:200px;height:170px}.letter-glyph{left:0;width:200px;height:170px}.letter-canvas .letter-slot{left:0;top:14px;width:100px;height:132px}.horizontal-canvas .letter-slot{left:20px;top:0;width:160px;height:84px}.letter-detail{grid-column:2;grid-row:2;grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:38px 110px;gap:4px 8px;align-self:center}.letter-caption{grid-column:1/-1;grid-row:1;font-size:15px;line-height:19px}.letter-round .letter-tray{grid-column:1/-1;grid-row:2;gap:10px}.letter-round .letter-word{grid-column:1;grid-row:2;font-size:21px;gap:4px;flex-direction:column}.letter-round .letter-word .picture{width:64px;height:64px}.letter-actions{grid-column:2;grid-row:2}.letter-actions .combine-next{min-width:170px}.block-stage{grid-template-columns:minmax(0,1fr) 180px;grid-template-rows:32px minmax(0,1fr);gap:4px 16px;max-height:none;--block-height:24px}.block-stage h1{grid-column:1/-1;grid-row:1;font-size:23px;height:32px;line-height:32px}.block-arena{grid-column:1;grid-row:2;max-height:none}.block-actions{grid-column:2;grid-row:2}.block-arena .block-friends{height:calc(100% - 25px);min-height:0;gap:32px}.block-arena .combine-hint{height:20px;line-height:12px;margin:5px 0 0;font-size:11px}.block-arena .merged-friend{bottom:31px}}@media(prefers-reduced-motion:reduce){.glyph-consonant,.glyph-vowel,.letter-round .letter-word{transition:none}.letter-round .letter-word{transform:none}}.character{display:block;width:100%;height:100%;overflow:visible}.character[data-reacting=true] .excavator-arm{transform-origin:74px 60px;animation:arm-hello .4s ease-in-out}.character[data-reacting=true] .police-light{animation:light-hello .4s steps(2)}@keyframes arm-hello{50%{transform:rotate(-16deg)}}@keyframes light-hello{50%{fill:#4da3ff;opacity:.3}}.profile-choice{text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:0;flex:1}.profile-choice h1{font-size:clamp(28px,4vw,44px);margin:10px 0}.profile-choice>p{margin:0 0 20px;color:#6a7d73}.character-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;width:min(100%,760px);margin:0 auto}.character-card{border:2px solid #e9dbbd;border-bottom-width:7px;border-radius:30px;background:#fff0cc;padding:20px;min-height:210px;color:#304b40;display:flex;flex-direction:column;align-items:center;gap:8px}.character-police{background:#e5effb;border-color:#cbdcf0}.character-card .character{width:clamp(100px,22vw,210px);height:clamp(100px,22vw,210px)}.character-card strong{font-size:clamp(23px,3vw,32px)}.character-card small{font-size:14px}.character-card:disabled{opacity:1;cursor:default}.in-lobby{display:flex;flex-direction:column;min-height:100svh}.profile-switch{display:inline-flex;align-items:center;gap:7px;background:#fff9eb;border:1px solid #e7d9bc;border-radius:22px;padding:3px 12px;margin:0 0 4px;color:#38564a;font-weight:700;min-height:40px}.profile-switch .character{width:30px;height:30px}.home-intro:has(.profile-switch) h1{margin-top:3px}.home-cards.few-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(160px,1fr);width:min(100%,820px);margin:auto;flex:1;max-height:430px}.few-cards .card-art{height:clamp(100px,18vh,175px)}.book-button,.parent-button,.back-link,.book-pages button,.sticker-book nav button,.parent-corner button{border:1px solid #c7d8cd;border-radius:15px;background:#fffdf6;color:#345347;padding:10px 16px;font:inherit;min-height:46px}.book-button{font-weight:700;font-size:18px}.book-button>span{font-size:25px}.parent-entry{position:relative}.parent-button{font-size:13px;min-height:46px}.parent-button.holding{background:#d8e9d9;box-shadow:inset 0 -5px #78a88b}.parent-entry small{position:absolute;right:0;bottom:100%;width:240px;padding:10px;background:#fff9df;border-radius:12px;z-index:3}.parent-gate,.parent-corner,.sticker-book{width:min(100%,820px);margin:0 auto;padding:15px 0 25px}.parent-gate{text-align:center;max-width:460px}.parent-gate .back-link{display:block}.parent-gate h1,.parent-corner h1,.sticker-book h1{font-size:28px;margin:20px 0 12px}.gate-code{font-size:30px;letter-spacing:8px;font-weight:700}.gate-digits{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:340px;margin:15px auto}.gate-digits button{min-height:62px;font-size:28px;border:2px solid #cadbd1;background:#fffdf5;border-radius:16px;color:#345347}.gate-progress{display:flex;gap:8px;justify-content:center}.gate-progress span{width:12px;height:12px;border-radius:50%;background:#e2e8df}.gate-progress .filled{background:#71a68c}.profile-tabs{display:flex;gap:12px}.profile-tabs button{display:flex;align-items:center;gap:10px}.profile-tabs .character{width:44px;height:44px}.profile-tabs [aria-pressed=true],.sticker-book nav [aria-pressed=true]{background:#dcebdc;border-color:#7ca98c}.parent-corner>section{margin:20px 0;padding:18px;border:1px solid #dbe2d5;border-radius:20px;background:#fffdf7}.parent-corner h2{font-size:20px;margin:0 0 14px}.parent-corner p{font-size:16px;line-height:1.6}.parent-corner a{display:inline-block;margin:12px}.game-settings{display:grid;gap:8px}.game-settings label{display:flex;align-items:center;gap:12px;min-height:48px;font-size:17px}.game-settings input{width:24px;height:24px;accent-color:#4d8066}.today-game{border-top:1px solid #e3e7dc;padding-top:13px}.erase-section button{margin:5px 10px 5px 0}.sticker-book nav{display:flex;gap:6px;flex-wrap:wrap}.sticker-book nav button{flex:1;padding:8px;min-width:52px}.sticker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}.sticker{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fffdf5;border:2px solid #e6dcc9;border-radius:22px;min-height:130px;padding:12px;gap:6px;font-size:17px;color:#355346}.sticker .picture{width:clamp(60px,10vw,100px);height:clamp(60px,10vw,100px)}.sticker.outline{border-style:dashed;background:transparent}.sticker.outline .picture{filter:grayscale(1);opacity:.13}.book-pages{display:flex;justify-content:space-between;gap:15px}.finish-sticker{animation:sticker-hello 1.5s ease-out}.finish-sticker .picture{width:90px;height:90px;vertical-align:middle}@keyframes sticker-hello{0%{transform:scale(.7);opacity:.4}35%{transform:scale(1.13)}65%{transform:scale(.97)}to{transform:scale(1);opacity:1}}@media(max-width:500px){.character-cards{gap:12px}.character-card{padding:15px 8px;min-height:190px}.profile-choice{padding:20px 0}.home-cards.few-cards{max-height:360px}.home-cards.few-cards .card-label{font-size:20px}.sticker{min-height:115px;padding:8px;font-size:14px}.sticker-grid{gap:8px}.parent-corner>section{padding:15px}.profile-switch{min-height:35px;padding:1px 10px}.home-intro:has(.profile-switch){padding-top:3px}.home-tools{gap:12px}.book-button{font-size:16px;padding:6px 12px}.parent-button{padding:6px 10px}}@media(orientation:landscape)and (max-height:500px){.profile-choice{padding:6px 0}.profile-choice h1{margin:3px 0;font-size:27px}.profile-choice>p{margin-bottom:6px}.character-cards{max-width:550px;gap:20px}.character-card{min-height:140px;padding:8px;display:grid;grid-template-columns:100px auto;grid-template-rows:1fr 1fr;gap:0 10px}.character-card .character{grid-row:1/3;width:100px;height:100px}.character-card strong{font-size:24px;align-self:end}.character-card small{align-self:start}.profile-choice .eyebrow{display:none}.profile-switch{position:absolute;left:0;top:0;min-height:32px}.home-intro:has(.profile-switch){position:relative}.profile-switch .character{width:25px;height:25px}.home-cards.few-cards{max-height:none;grid-template-rows:1fr;max-width:720px}.few-cards .card-art{height:80px}.sticker-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.sticker{min-height:100px}.sticker .picture{width:55px;height:55px}.sticker-book h1{margin:6px 0;font-size:24px}.sticker-book{padding-top:5px}.sticker-book .back-link{float:right}.sticker-grid{margin:8px 0}.book-pages button{min-height:40px;padding:4px 12px}.finish-sticker .picture{width:60px;height:60px}}@media(prefers-reduced-motion:reduce){.character *,.finish-sticker{animation:none!important}}@media(orientation:landscape)and (max-height:500px){.home-intro:has(.profile-switch){display:block;min-height:32px;margin:0}.home-intro:has(.profile-switch) h1,.home-intro:has(.profile-switch) p{display:none}.profile-switch{position:static;float:left;margin:0}.study-app.at-home{gap:6px}.home-cards.few-cards .card-art{height:70px}}.study-app.at-home:has(.connection){height:auto;min-height:100svh;max-height:none}.at-home:has(.connection) .home-cards{flex:none;grid-template-rows:none;grid-auto-rows:minmax(110px,auto)}.connection{position:relative;z-index:2;flex-shrink:0;background:#fff3dc;border-radius:12px;padding:8px 12px}.card-magnet{background:#f6e2d6;border-color:#eac6b5;box-shadow:0 5px #eac6b5}.card-socks{background:#e3e4f5;border-color:#cecee6;box-shadow:0 5px #cecee6}.home-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(96px,1fr))}.home-cards.police-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home-cards.few-cards{grid-template-rows:1fr}.home-pages{display:flex;align-items:center;justify-content:center;gap:24px}.home-pages button{width:96px;min-height:96px;background:#e0e8d8;font-size:38px}.home-pages button:disabled{opacity:.3}.home-pages>span{display:flex;gap:10px}.home-pages i{width:12px;height:12px;border-radius:50%;background:#d2d9ca}.home-pages i.active{background:#587c59}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.magnet-scene{position:relative;height:clamp(180px,45svh,360px);background:#fffbef;border-radius:32px;overflow:hidden;width:100%}.exploring-magnet{position:absolute;left:4%;top:10%;width:32%;height:40%;transition:left .65s ease-in-out,top .65s ease-in-out}.magnet-object{position:absolute;left:65%;top:60%;width:25%;height:30%;transition:left .5s .6s ease-in-out,top .5s .6s ease-in-out;z-index:1}.observe .exploring-magnet,.result .exploring-magnet{left:40%;top:27%}.observe .magnet-object.sticks,.result .magnet-object.sticks{left:57%;top:44%}.experiment-table{position:absolute;bottom:2%;left:4%;right:4%;height:10%;background:#d8ba8c;border-radius:50%}.socks-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:0;gap:12px;padding:12px 16px}.socks-stage h1{margin:0}.clothesline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:800px;width:100%;border-top:5px solid #b7a488;padding-top:8px}.sock-button{position:relative;background:transparent;min-width:96px;width:100%;height:clamp(120px,24svh,200px);padding:12px 0 0;transition:opacity .4s,transform .5s}.sock-peg{position:absolute;top:-12px;left:55%;width:10px;height:25px;background:#a1845f;border-radius:4px;transform:rotate(-8deg)}.sock-button.selected{transform:translateY(-9px);background:#fff3cd}.sock-button.partner .picture{animation:sock-wiggle .8s ease-in-out infinite}.sock-button.partner{background:#f1ead4;outline:3px dashed #9d936f;outline-offset:2px}.sock-button.in-basket{opacity:0;transform:translateY(80px) scale(.5);pointer-events:none}.sock-basket{position:relative;width:140px;height:100px;flex-shrink:0}.sock-basket>.picture:not(:first-child){position:absolute;left:30%;top:0;width:45%;height:60%}.sock-basket>.picture:nth-child(3){left:10%;transform:rotate(-15deg)}.sock-basket>.picture:nth-child(4){left:50%;transform:rotate(10deg)}.socks-message{font-size:22px;font-weight:750;text-align:center;min-height:33px}.socks-next{min-height:96px}.sticker-book nav{flex-wrap:wrap}@keyframes sock-wiggle{25%{transform:rotate(-7deg)}75%{transform:rotate(7deg)}}@media(max-width:600px){.home-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(96px,1fr));gap:10px}.home-cards.police-cards{grid-template-rows:repeat(2,minmax(96px,1fr))}.home-cards.few-cards{grid-template-rows:1fr}.home-cards .card-art{height:clamp(48px,9svh,90px);width:90px}.home-cards .card-label{font-size:18px}.home-cards .activity-card small{display:none}.home-pages{gap:18px}.home-pages button{min-height:96px}.at-home:has(.home-pages) .home-intro h1,.at-home:has(.home-pages) .home-intro p{display:none}.magnet-scene{height:100%;max-height:250px;width:85%;margin:auto}.clothesline{grid-template-columns:repeat(2,minmax(96px,1fr));gap:14px 30px;max-width:300px}.sock-button{height:clamp(96px,17svh,140px)}.socks-stage{gap:8px;padding:10px 16px}.sock-basket{height:70px;width:110px}.socks-message{font-size:18px}.socks-stage:has(.socks-next) .sock-basket{display:none}}@media(max-height:500px)and (min-width:600px){.home-cards,.home-cards.police-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(96px,1fr));gap:8px}.home-cards.police-cards{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:1fr}.home-cards .activity-card{padding:4px;gap:0;flex-direction:row}.home-cards .card-art{width:54px;height:64px;flex-shrink:0}.home-cards .card-label{font-size:18px}.home-cards .activity-card small{display:none}.at-home:has(.home-pages){position:relative;padding-left:112px;padding-right:112px}.home-pages{position:absolute;inset:70px 8px;pointer-events:none;justify-content:space-between}.home-pages button{pointer-events:auto}.home-pages>span{display:none}.magnet-scene{height:100%;max-height:225px}.socks-stage{padding:0 16px;gap:4px}.socks-stage h1{font-size:24px}.clothesline{max-width:560px;gap:20px}.sock-button{height:100px}.sock-basket{position:absolute;right:4%;bottom:4%;height:60px;width:85px}.socks-message{font-size:18px}.socks-next{position:absolute;right:0;top:25%;min-width:140px;max-width:150px}.socks-stage:has(.socks-next) .clothesline{margin-right:150px;width:65%}}@media(prefers-reduced-motion:reduce){.sock-button.partner .picture{animation:none}.sock-button,.magnet-object,.exploring-magnet{transition:none}.sock-basket.bouncing{animation:none}}
