.stage-toolbar{text-align:center;margin:12px auto 20px}.stage-reset{font-size:14px;min-height:44px;padding:9px 22px}.compact-audio{min-height:0!important;margin:0!important;text-align:center;font-size:12px!important}.compact-audio:not(:empty){min-height:24px!important;margin:8px 0!important}.letter-page-heading:has(+.stage-toolbar){margin-bottom:10px}.lab-title{text-align:center;font-size:28px;margin:16px 0 8px}.lab-description,.lab-gesture{text-align:center;color:var(--muted);font-size:13px;margin:8px 0}.lab-gesture{font-size:11px}.practice-records{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.practice-records .clear-letter{padding:7px;min-height:36px}.sound-directory{margin:20px 0}.sound-directory>h2{font-size:17px;margin:24px 0 12px;color:#718454}.sound-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sound-record{border:1px solid var(--border);border-radius:17px;background:var(--paper);text-align:center;padding:10px;min-width:0;box-shadow:0 3px 0 #e8ecd9}.directory-symbol{display:block;width:100%;background:none;border:0;font-size:39px;color:var(--green);min-height:78px;padding:4px;touch-action:manipulation}.detail-short{border:0;background:none;color:#80906e;min-height:36px;font-size:11px;padding:6px 9px;text-decoration:underline;text-underline-offset:3px}.consonant-directory{max-width:850px;margin:22px auto;display:grid;gap:10px}.consonant-directory>article{display:flex;align-items:center;gap:17px;border:1px solid var(--border);background:var(--paper);padding:15px 20px;border-radius:16px;box-shadow:0 3px 0 #e8ecd9}.directory-letter{font-family:Andika,sans-serif;font-size:39px;color:var(--green);border:0;background:none;width:58px;min-height:62px;flex-shrink:0;touch-action:manipulation}.mapping-symbols{display:flex;gap:8px;flex-wrap:wrap;flex:1;min-width:60px}.mapping-symbol{font-size:24px;min-height:45px;padding:4px 11px;background:#f0f5df;border:1px solid #dce5c8;border-radius:9px}.consonant-directory .practice-records{flex-shrink:0}.consonant-directory .detail-short{margin-left:-12px}.lab-learn-panel{max-width:760px;margin:25px auto;text-align:center}.lab-learn-panel .tip-box{text-align:left}.lab-learn-panel .sound-symbol{margin:22px 0}.lab-learn-panel .task-nav{margin-top:30px}.lab-learn-panel .example-row{text-align:left}.consonant-big{font-family:Andika,sans-serif;font-size:92px;line-height:1.4;color:var(--green);margin:15px 0}.mapping-details{display:flex;gap:18px;justify-content:center;flex-wrap:wrap}.mapping-details>section{flex:1;min-width:220px;max-width:100%;border:1px solid var(--border);border-radius:17px;padding:18px;background:#fafbf2}.mapping-detail-symbol{font-size:42px;margin-bottom:8px}.mapping-details .example-row{margin:18px 0 0}.mapping-details p{color:var(--muted);font-size:13px}.lab-quiz-panel{max-width:760px;margin:24px auto;text-align:center}.lab-quiz-panel .options{margin-top:25px}.lab-quiz-panel .feedback .secondary{display:block;margin:15px auto 0}.wrong-option{background:#fae5dd!important;border-color:#c77153!important;color:#a84936}.pass-counts{display:grid;gap:15px;margin:25px auto}.pass-counts strong{padding:14px;background:#edf4d9;border-radius:13px;color:var(--green);font-size:21px}.celebration{position:relative;overflow:hidden;animation:celebrate-in .5s ease}.celebration:before,.celebration:after{content:'✦ ★ ✧';position:absolute;top:20px;color:#e3b14c;font-size:23px;animation:celebrate-in .8s ease}.celebration:before{left:18px;transform:rotate(-25deg)}.celebration:after{right:18px;transform:rotate(25deg)}@keyframes celebrate-in{from{opacity:.2;translate:0 12px;scale:.95}to{opacity:1;translate:0 0;scale:1}}.vowel-fancy{display:flex;justify-content:center;gap:7px;margin:34px auto 24px;font-size:36px;line-height:1.7}.vowel-fancy span{display:inline-block;color:#628546;transform:rotate(calc((var(--i) - 2.5)*2deg));text-shadow:2px 3px 0 #dbe7b0,-1px -1px 0 #fff,1px -1px 0 #fff}.vowel-fancy span:nth-child(2n){color:#ba7f42;text-shadow:2px 3px 0 #f5e1b7,-1px -1px 0 #fff}.vowel-board{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px auto;max-width:850px}.vowel-board>article{min-width:0;text-align:center}.vowel-letter{font-family:Andika,sans-serif;font-size:68px;line-height:1.2;color:var(--green);background:#f2f6df;border:1px solid #dce5c4;border-radius:18px;padding:9px 0;min-height:100px;width:100%;box-shadow:0 4px 0 #e1e8c9}.vowel-board .practice-records{margin-top:18px}.vowel-explanation{text-align:center;color:var(--muted);font-size:16px;line-height:1.9;max-width:650px;margin:30px auto}.center-action{text-align:center;margin:32px 0 45px}
@media(max-width:680px){.stage-toolbar{margin:5px auto 15px}.letter-page-heading h1{margin-bottom:10px}.sound-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sound-record{padding:8px 6px}.directory-symbol{font-size:34px;min-height:64px}.sound-record .practice-records{gap:4px}.sound-record .clear-letter{flex-basis:100%;min-height:30px;padding:5px}.sound-record .detail-short{min-height:30px}.lab-title{font-size:25px}.lab-description{font-size:12px}.consonant-directory>article{gap:9px;padding:10px 9px;flex-wrap:wrap}.directory-letter{font-size:36px;width:42px;min-height:48px}.mapping-symbols{gap:5px}.mapping-symbol{font-size:22px;padding:3px 8px}.consonant-directory .practice-records{gap:4px;flex-basis:100%;justify-content:flex-end;margin-top:-5px}.consonant-directory .detail-short{position:absolute;left:16px;bottom:5px;font-size:11px;min-height:35px;margin:0}.consonant-directory>article{position:relative}.lab-learn-panel{padding:20px 16px;margin:10px auto}.mapping-details{display:block}.mapping-details>section+section{margin-top:16px}.consonant-big{font-size:77px}.mapping-details>section{padding:14px}.mapping-details .example-row .audio-button{padding:8px;font-size:13px}.mapping-detail-symbol{font-size:35px}.lab-quiz-panel{padding:22px 16px}.pass-counts strong{font-size:19px}.vowel-fancy{font-size:27px;gap:3px;margin:28px 0 22px}.vowel-board{gap:6px;margin:20px auto}.vowel-letter{font-size:40px;min-height:65px;border-radius:12px}.vowel-board .practice-records{gap:5px;margin-top:14px}.vowel-board .letter-stat{flex-basis:100%;min-height:35px;width:100%;font-size:12px}.vowel-board .clear-letter{font-size:11px;line-height:1.5;padding:4px 0;min-height:40px}.vowel-explanation{font-size:14px;margin:25px auto}.center-action .primary{font-size:17px}.celebration:before,.celebration:after{font-size:14px}}
@media(prefers-reduced-motion:reduce){.celebration,.celebration:before,.celebration:after{animation:none}}
