:root{--learn-blue:#0d6efd;--learn-ink:#26354d;--learn-muted:#68778b;--learn-line:#e5ebf4;--learn-soft:#f4f7fc}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:Montserrat,system-ui,sans-serif;background:#f4f6f9;color:var(--learn-ink);margin:0;line-height:1.5}button,input{font:inherit}a,button,input{touch-action:manipulation}a{color:var(--learn-blue)}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #8ebcff;outline-offset:3px}[hidden]{display:none!important}.learner-container{max-width:480px;margin:auto;min-height:100dvh;background:#fff;box-shadow:0 0 30px #24385908}.home-shell{padding-bottom:24px}.learner-header{position:relative;overflow:hidden;background:linear-gradient(135deg,#0d6efd,#1bd);color:#fff;padding:24px 22px 34px;border-radius:0 0 28px 28px}.brand-line{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{color:#fff;text-decoration:none;font-weight:800;font-size:1.15rem}.header-pill{font-size:.75rem;background:#ffffff20;border:1px solid #ffffff45;border-radius:99px;padding:5px 9px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.07em;margin:0 0 6px}.learner-header h1{font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.18;font-weight:800;position:relative;z-index:1}.hero-copy{font-size:.9rem;line-height:1.65;position:relative;z-index:1}.hero-decoration{position:absolute;right:15px;top:94px;font-size:6rem;font-weight:800;transform:rotate(-12deg);opacity:.16;pointer-events:none}.hero-decoration span{position:absolute;left:18px;top:110px;font-size:3rem}.home-content{padding:18px}.daily-card{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--learn-line);border-radius:18px;padding:16px;background:#fff;box-shadow:0 6px 20px #25487908}.helper{font-size:.85rem;color:var(--learn-muted)}.daily-card progress{width:100%;height:7px}.daily-count span{font-size:1.6rem;color:var(--learn-blue);font-weight:800}.daily-count small{color:var(--learn-muted)}progress{appearance:none;border:0;border-radius:99px;background:#e8eef8;overflow:hidden}progress::-webkit-progress-bar{background:#e8eef8}progress::-webkit-progress-value{background:linear-gradient(90deg,#0d6efd,#26bad7);border-radius:99px}progress::-moz-progress-bar{background:#0d6efd}.resume-card{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eff5ff;border-radius:16px;padding:15px;margin-top:15px}.home-tabs{display:flex;gap:6px;padding:5px;background:var(--learn-soft);border-radius:99px;margin:22px 0}.home-tabs button{flex:1;border:0;background:0 0;border-radius:99px;padding:10px 5px;font-size:.88rem;font-weight:600;color:var(--learn-muted);white-space:nowrap}.home-tabs button.active{background:#fff;color:var(--learn-blue);box-shadow:0 2px 8px #34456612}.count-pill{font-size:.75rem;background:#e1edff;border-radius:99px;padding:2px 6px}.learner-search{display:flex;gap:7px;align-items:center}.learner-search input{min-width:0;flex:1;border:1px solid var(--learn-line);background:#fafcff;border-radius:12px;padding:11px;font-size:.95rem}.learner-search .btn{flex:none;white-space:nowrap}.level-track{display:flex;gap:8px;overflow:auto;padding:14px 0 20px}.level-pill{white-space:nowrap;text-decoration:none;border:1px solid #dbe3ee;border-radius:99px;padding:7px 14px;font-size:.85rem;color:#5b6c82}.level-pill.active{background:#0d6efd;border-color:#0d6efd;color:#fff}.section-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 14px}.topic-grid{display:grid;grid-template-columns:1fr;gap:16px}.topic-card{border:1px solid var(--learn-line);border-radius:20px;overflow:hidden;background:#fff;transition:box-shadow .2s,transform .2s}.topic-card:hover{box-shadow:0 10px 24px #28446612;transform:translateY(-2px)}.topic-art{height:150px;position:relative;display:flex;align-items:center;justify-content:center}.art-0{background:#eef5ff}.art-1{background:#e9f8f7}.art-2{background:#fff5e8}.art-3{background:#f3efff}.topic-art img{width:100%;height:145px;object-fit:contain;padding:12px}.topic-art .aip-shell{width:100%;height:100%}.topic-letter{font-size:3.8rem;font-weight:800;color:#0d6efd55}.word-count{position:absolute;bottom:10px;left:12px;background:#fffffff2;padding:4px 9px;border-radius:99px;font-size:.75rem;font-weight:600;pointer-events:none}.topic-body{padding:16px}.topic-levels{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}.topic-levels span{font-size:.72rem;color:#44658e;background:#edf4ff;border-radius:7px;padding:3px 6px}.topic-body h3{font-weight:700}.topic-description{font-size:.9rem;color:var(--learn-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em;margin-bottom:9px}.topic-examples{font-size:.8rem;color:#63778e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-progress{margin:13px 0;font-size:.8rem;color:#5a6d87}.topic-progress progress{display:block;width:100%;height:5px;margin-top:6px}.card-study-link{display:block;text-align:center;font-size:.82rem;margin-top:9px;text-decoration:none}.empty-topic{background:var(--learn-soft);text-align:center;border-radius:99px;padding:8px;color:var(--learn-muted);font-size:.9rem}.empty-state{text-align:center;padding:38px 18px}.empty-state>span{font-size:3rem;color:var(--learn-blue)}.empty-state p{color:var(--learn-muted);font-size:.95rem}.progress-panel{border:1px solid var(--learn-line);padding:18px;border-radius:18px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.stat-grid>div{background:var(--learn-soft);border-radius:12px;padding:12px;text-align:center}.stat-grid strong{display:block;font-size:1.3rem;color:var(--learn-blue)}.stat-grid span{font-size:.75rem}.learner-note{text-align:center;margin-top:25px;font-size:.8rem;color:var(--learn-muted)}.game-shell{display:flex;flex-direction:column}.game-header{display:flex;gap:14px;align-items:center;padding:16px 18px;border-bottom:1px solid var(--learn-line);position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(8px);z-index:5}.exit-link{text-decoration:none;font-size:1.5rem;width:32px}.game-title{flex:1;min-width:0}.game-title h1{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.game-title .eyebrow{color:var(--learn-muted)}.icon-button{border:1px solid var(--learn-line);background:#fff;border-radius:50%;width:40px;height:40px;color:var(--learn-blue)}.game-main{padding:18px;flex:1}.game-rewards,.game-status{display:flex;justify-content:space-between;gap:8px;font-size:.82rem;color:var(--learn-muted)}#game-progress{width:100%;height:8px;margin:10px 0}.game-rewards{margin-bottom:18px;color:#5275a4;font-weight:600}.game-card{border:1px solid var(--learn-line);border-radius:22px;box-shadow:0 10px 28px #2a4b750a;padding:22px;text-align:center;min-height:280px;overflow-wrap:anywhere}.word-picture{display:block;max-width:100%;height:170px;object-fit:contain;margin:0 auto 15px;border-radius:14px}.picture-fallback{height:125px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;color:#7faae2;background:#f4f8ff;border-radius:16px;margin-bottom:16px}.game-card h2{font-size:clamp(1.7rem,5vw,2.3rem);font-weight:800;color:var(--learn-blue)}.word-meta{color:var(--learn-muted);font-size:.9rem;margin:5px 0 16px}.word-definition{background:var(--learn-soft);border-radius:14px;text-align:left;padding:15px;margin-top:15px;font-size:.95rem}.word-definition p{margin-bottom:8px}.word-definition p:last-child{margin-bottom:0}.word-example{border-top:1px solid #dce5f1;padding-top:10px;margin-top:10px;color:#5f728d}.word-translate{color:var(--learn-muted);font-size:.87rem}.listen-button{border:0;border-radius:99px;background:#edf4ff;color:#0d6efd;padding:9px 15px;font-size:.9rem;font-weight:600;margin:0 4px 6px}.question-tag{font-size:.72rem;letter-spacing:.08em;font-weight:700;color:#6b7e96;margin-bottom:12px}.question-prompt{font-size:1.15rem;font-weight:600;margin:12px 0 20px}.choices{display:grid;grid-template-columns:1fr;gap:10px;text-align:left}.choice{border:1px solid #dde5f1;border-radius:13px;background:#fff;padding:13px 15px;text-align:left;color:var(--learn-ink);font-size:1rem;display:flex;gap:10px;align-items:center;min-height:50px}.choice span{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:8px;background:#f0f4fa;font-size:.8rem;color:#72829a}.choice:hover:not(:disabled){background:#f1f6ff;border-color:#80b1ff}.choice.correct{border-color:#3bae7c;background:#eaf8f1}.choice.incorrect{border-color:#e69790;background:#fff1ef}.answer-input{width:100%;padding:13px;border:2px solid #dbe5f1;border-radius:13px;text-align:center;font-size:1.2rem}.game-feedback{padding:0;margin-top:16px;font-size:.95rem;min-height:0;border-radius:14px;white-space:pre-line}.game-feedback.success{padding:13px;background:#eaf8f1;color:#237250}.game-feedback.retry{padding:13px;background:#fff4e9;color:#805d2e}.game-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.game-actions .btn{flex:1;min-width:100px;border-radius:99px;padding:11px;font-weight:600}.practice-box{border-top:1px solid var(--learn-line);padding-top:14px;margin-top:18px}.practice-box p{font-size:.8rem;color:var(--learn-muted)}.practice-controls{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap}.practice-controls audio{max-width:100%;height:36px}.record-active{background:#df5d5d;color:#fff}.rec-status{font-size:.85rem;margin-top:8px;color:var(--learn-muted)}.round-summary{text-align:center}.round-summary .trophy{font-size:3.6rem;margin-bottom:12px}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.result-stats>div{background:var(--learn-soft);border-radius:13px;padding:12px 5px}.result-stats strong{display:block;font-size:1.5rem;color:var(--learn-blue)}.result-stats small{font-size:.75rem;color:var(--learn-muted)}.review-word{display:inline-block;background:#fff1dd;color:#8a6431;border-radius:99px;padding:5px 10px;margin:3px;font-size:.85rem}.game-card:focus{outline:0}.screen-reader-note{font-size:.8rem;color:var(--learn-muted)}@media(min-width:768px){.learner-container{max-width:900px}.learner-header{padding:28px 36px 38px}.home-content{padding:24px 30px}.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.game-shell{max-width:820px}.game-main{padding:24px 44px}.choices{grid-template-columns:1fr 1fr}.game-card{padding:30px}.word-picture{height:200px}.hero-decoration{right:70px;font-size:9rem}.daily-card{padding:18px 22px}}@media(max-width:380px){.header-pill{display:none}.game-main,.home-content{padding:14px}.game-card{padding:17px}.learner-search .btn{padding:8px;font-size:.85rem}.stat-grid span{font-size:.7rem}.home-tabs button{font-size:.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}.btn{display:inline-block;border:1px solid transparent;padding:.65rem 1rem;font-size:1rem;line-height:1.4;text-align:center;text-decoration:none;border-radius:.6rem;cursor:pointer}.btn-primary{background:#0d6efd;border-color:#0d6efd;color:#fff}.btn-primary:hover{background:#0b5ed7;color:#fff}.btn-outline-primary{background:#fff;border-color:#0d6efd;color:#0d6efd}.btn-outline-secondary{background:#fff;border-color:#cbd5e1;color:#536579}.btn-light{background:#fff;color:#0d6efd}.rounded-pill{border-radius:99px}.fw-bold{font-weight:700}.px-4{padding-left:1.5rem;padding-right:1.5rem}.h5{font-size:1.2rem}.h6{font-size:1rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mb-0{margin-bottom:0}.text-center{text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.w-100{width:100%}.btn:disabled{opacity:.55;cursor:default}.game-header{padding:7px 14px;gap:9px;min-height:54px}.game-title h1{font-size:1rem}.game-header .icon-button{width:38px;height:38px;flex:none;display:grid;place-items:center}.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.icon-button .sound-off,.icon-button.is-muted .sound-waves{display:none}.icon-button.is-muted .sound-off{display:block}.icon-button.is-muted{color:#78869a;background:#f5f7fa}.game-main{padding:12px 16px}.game-rewards{margin-bottom:10px;font-size:.76rem}#game-progress{height:6px;margin:6px 0}.game-card{padding:17px;min-height:240px}.game-card .word-picture{height:clamp(110px,23dvh,175px);margin-bottom:9px}.game-card .question-tag{margin-bottom:8px}.game-card .word-meta{margin-bottom:10px}.game-card .listen-button{min-height:40px;padding:8px 12px;margin:0 2px 7px;font-size:.86rem}.game-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.game-actions .btn{min-width:0;min-height:44px;border-radius:13px;padding:9px 8px;font-size:.88rem;display:flex;align-items:center;justify-content:center;line-height:1.3;overflow-wrap:normal}.game-actions:has(>:nth-child(3))>:last-child{grid-column:1/-1}.game-actions>:only-child{grid-column:1/-1}.tts-line{display:flex;gap:8px;align-items:center;justify-content:space-between;font-size:.77rem;color:#68778b;margin-top:12px}.tts-line button{flex:none;min-height:38px;border:0;background:#eff4fc;border-radius:9px;padding:5px 9px;color:#5275a4}#save-status{font-size:.73rem;margin-top:6px!important}.game-feedback:empty{margin-top:0}.game-feedback.retry,.game-feedback.success{padding:10px;margin-top:10px}@media(min-width:768px){.game-main{padding:16px 42px}.game-header{padding:8px 24px}.game-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.game-actions:has(>:nth-child(3))>:last-child{grid-column:auto}.game-actions:has(>:nth-child(2)):not(:has(>:nth-child(3))){grid-template-columns:repeat(2,minmax(0,1fr))}.game-card .word-picture{height:190px}.game-card{padding:22px}}#voice-settings{font-size:1.55rem}#header-stats:empty{display:none}.game-title{min-width:0}.game-title h1{margin-bottom:0}.image-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.image-choices .choice{position:relative;display:flex;flex-direction:column;padding:12px;min-width:0}.choice-image{width:100%;height:clamp(90px,19dvh,155px);object-fit:contain;border-radius:9px}.choice kbd,.keyboard-help kbd{font:600 .75rem system-ui;color:#536579;background:#f5f7fb;border:1px solid #d4dce8;border-bottom-width:3px;border-radius:5px;padding:2px 6px;flex:none}.image-choices kbd{align-self:flex-start}.choice .choice-text{width:auto;height:auto;background:0 0;border-radius:0;font-size:1rem;color:inherit;display:block;overflow-wrap:anywhere}.question-hint{margin-top:14px;border:1px dashed #aac6ea;background:#f4f8ff;padding:12px;border-radius:14px}.question-hint p{margin:0}.question-hint .word-picture{height:110px;margin:0 auto}.keyboard-help{display:none;font-size:.75rem;color:#68778b;line-height:1.8;margin:10px 0 0}.game-actions .btn:disabled{opacity:.5}#game-stats{min-width:0}@media(min-width:768px){.game-header{gap:16px}.game-title{flex:1;display:grid;grid-template-columns:minmax(90px,1fr) minmax(250px,1.5fr);align-items:center;gap:20px}#header-stats .game-rewards{margin-bottom:0;font-size:.72rem}#header-stats .game-status{font-size:.75rem}#header-stats #game-progress{display:block;margin:4px 0;height:5px}.keyboard-help{display:block}.game-main{padding-top:18px}}@media(max-width:380px){.image-choices{gap:7px}.image-choices .choice{padding:8px}.choice .choice-text{font-size:.9rem}}.choices{min-width:0}.choice{min-width:0;max-width:100%;white-space:normal}.choice>.choice-text{min-width:0;flex:1 1 0;width:auto;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.5;text-align:left}.image-choices .choice>.choice-text{flex:0 1 auto;width:100%}.choice kbd{flex:0 0 auto}.listening-symbol{height:50px;width:50px;background:0 0;display:flex;align-items:center;justify-content:center;justify-self:center;margin:0 auto 8px;font-size:2rem;line-height:1;color:#7faae2}.game-card .revealed-word-title{margin-top:2rem;margin-bottom:.5rem}@media(min-width:768px){.choices{grid-template-columns:repeat(2,minmax(0,1fr))}}.explore-tools{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:8px}.explore-listen{display:flex;align-items:center;justify-content:center;gap:8px}.game-card .explore-tools .listen-button{margin:0}.explore-tools #reveal-word{margin:0;min-height:40px;font-size:.9rem;padding:8px 13px}.speech-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:36px;min-height:36px;padding:6px;border:1px solid #dce6f4;background:#edf4ff;border-radius:10px;color:#0d6efd;vertical-align:middle;cursor:pointer}.speech-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.word-dialog header h2{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.word-dialog header .speech-icon{min-height:36px;padding:6px}.text-with-audio{display:flex;align-items:flex-start;gap:8px}.text-with-audio>span,.text-with-audio>strong{min-width:0;flex:1;white-space:pre-line;overflow-wrap:anywhere}.example-tools{display:flex;align-items:center;gap:5px;flex:none}@media(min-width:768px){.explore-tools{flex-direction:row;justify-content:space-between;align-items:center;gap:14px}.explore-listen{justify-content:flex-start}.explore-tools #reveal-word{flex:none}}@media(max-width:380px){.text-with-audio{flex-wrap:wrap}.text-with-audio>span{flex-basis:70%}}.explore-listen{justify-content:center}.explore-listen #quick-practice{height:40px;min-height:40px;width:40px;border-radius:50%;background:#f0f7ff}.keyboard-help{padding:10px 12px;background:#f7f9fc;border:1px solid #e9eef5;border-radius:12px;text-align:left}.keyboard-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;line-height:1.7}.keyboard-group+.keyboard-group{margin-top:4px}.keyboard-group>strong{min-width:72px;font-size:.72rem;color:#526782}.keyboard-group>span{font-size:.73rem}.keyboard-help kbd{display:inline-block;margin-right:3px;padding:0 5px}@media(min-width:768px){.explore-tools{justify-content:center;gap:16px}.explore-listen{justify-content:center}.keyboard-help{display:grid;grid-template-columns:1fr;gap:2px}.keyboard-group+.keyboard-group{margin-top:0}}.game-card .listening-symbol,.game-card .question-tag{display:none}#stage-label{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.5}#game-counter{flex:none;white-space:nowrap}.game-status{align-items:center}.game-card .question-prompt{margin-top:8px}.speaking-card{text-align:left}.speaking-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.speaking-tabs{display:flex;gap:6px;flex-wrap:wrap}.speaking-tabs button{border:1px solid #dce6f4;border-radius:20px;padding:7px 12px;background:#fff;color:#465770;font:500 14px system-ui;min-height:38px}.speaking-tabs button[aria-pressed=true]{background:#eaf2ff;border-color:#86b7fe;color:#0d6efd}.speaking-rule{margin:12px 0}.game-card .speaking-title{font-size:clamp(19px,3vw,25px);text-align:left;margin:14px 0}.speaking-target{font-size:clamp(19px,3vw,25px);line-height:1.7;padding:18px;background:#f3f7fd;border:1px solid #e5ebf4;border-radius:16px;white-space:pre-wrap;overflow-wrap:anywhere}.speaking-picture{display:block;max-width:160px;max-height:100px;object-fit:contain;margin:8px auto;cursor:zoom-in}.speaking-tools{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:16px 0}.speaking-result{border-radius:12px;padding:12px 14px;background:#f5f7fb;margin-top:12px;font-size:15px}.speaking-result p{margin:6px 0;font-size:14px;overflow-wrap:anywhere}.speaking-result small{font-size:13px}.speaking-result.is-passed{background:#edf8f2;color:#17634f}.speaking-result.is-review{background:#fff5e8;color:#845217}.speaking-library{margin-top:18px;font-size:14px}.speaking-library summary{cursor:pointer;padding:8px 0}.speaking-library-row{display:flex;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #e5ebf4}.speaking-library-row span{flex:1;min-width:0;overflow-wrap:anywhere}.speaking-library-row button{font:500 14px system-ui;padding:6px 9px;min-height:36px;border:1px solid #dce6f4;border-radius:8px;background:#fff;color:#0d6efd}.speaking-library-row .recording-delete{color:#a83f3b;border-color:#edc9c6}.speaking-editor textarea{display:block;width:100%;font:400 16px/1.5 system-ui;padding:10px;border:1px solid #dce6f4;border-radius:10px;resize:vertical;margin-top:6px}.speaking-editor [data-error]{color:#a83f3b}.speaking-editor label{font-weight:500}@media(max-width:480px){.speaking-target{padding:12px;font-size:19px}.speaking-toolbar{gap:7px}.speaking-tools .btn-primary{flex-basis:100%;max-width:260px}.speaking-library-row{gap:5px}.speaking-card{padding:16px}}.topic-speaking-link{margin-top:8px}.topic-list-link{display:block;text-align:center;padding:10px 12px;margin:7px 0 0;border:1px solid #dce6f4;border-radius:999px;font-size:14px;font-weight:500;color:#465770;text-decoration:none}.topic-list-link:hover{background:#f3f7fd;color:#0d6efd}.speaking-toolbar{flex-wrap:nowrap;gap:6px}.speaking-tabs{flex-wrap:nowrap;gap:5px;min-width:0}.speaking-add,.speaking-tabs button{font:500 14px/1.4 system-ui;min-height:38px;padding:7px 10px;border:1px solid #dce6f4;border-radius:20px;white-space:nowrap;background:#fff;color:#465770}.speaking-add{color:#0d6efd;flex:none}.game-card .speaking-title{text-align:center}.speaking-picture{border-radius:5%}.speaking-tools .listen-button{border-radius:999px}@media(max-width:480px){.speaking-add,.speaking-tabs button{font-size:12px;padding:7px 8px}.speaking-toolbar{gap:4px}.speaking-tabs{gap:4px}}@media(max-width:340px){.speaking-add,.speaking-tabs button{font-size:11px;padding:7px 6px}}.speaking-library>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none}.speaking-library>summary::-webkit-details-marker{display:none}.speaking-library>summary>span{flex:1;min-width:0}.speaking-library>summary>span::before{content:'▸ ';color:#68778b}.speaking-library[open]>summary>span::before{content:'▾ '}.speaking-library .speaking-add{font-size:14px;padding:7px 10px}@media(max-width:480px){.speaking-library .speaking-add{font-size:12px;padding:7px 8px}}.topic-skill-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}.topic-skill{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;white-space:nowrap;font:600 13px/1.4 system-ui;padding:10px 5px;border:1px solid #c7dbf5;border-radius:12px;text-decoration:none;color:#1767ed;background:#eef5ff}.topic-skill:hover{background:#deebff}.topic-speaking-link{margin:0}.topic-list-link{display:block;margin-top:10px;padding:12px 7px;border-radius:14px;border:1px solid #c8e9df;background:#eaf8f2;color:#246b54;font-weight:700;font-size:14px;text-align:center}.topic-list-link:hover{background:#d7f1e5;color:#195b43}.topic-list-link small{display:block;font-size:11px;font-weight:400;margin-top:4px;color:#55766a}.reset-progress{display:block;margin:12px auto 0;border:1px solid #e4c9c5;color:#9b4743;border-radius:9px;background:#fff;font:500 12px system-ui;padding:8px 12px;min-height:38px}.reset-progress:hover{background:#fff0ef}.game-header .exit-link{flex:none;width:auto;min-width:32px;text-align:center}.exit-link span{display:none}.game-header [hidden]{display:none!important}.skill-score-note{font-size:12px;color:#697b91;margin-top:15px}.skill-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.skill-summary span{padding:6px 10px;border-radius:10px;background:#edf4ff;color:#416791;font-size:12px}@media(min-width:768px){.exit-link span{display:inline;font-size:12px;font-weight:600}.game-header:has(.exit-link span) .game-title{gap:12px;grid-template-columns:minmax(60px,1fr) minmax(200px,1.3fr)}}@media(max-width:360px){.topic-skill{font-size:12px;padding-inline:3px}}.game-surface{border:1px solid var(--learn-line);border-radius:20px;box-shadow:0 10px 28px #2a4b750a;position:relative;background:#fff;overflow:visible}.game-surface>.game-card{border:0;border-radius:20px 20px 0 0;box-shadow:none;min-height:220px}.game-surface>.game-feedback{margin:0 12px 10px}.game-surface>.game-feedback:empty{margin:0}.game-surface>.game-actions{position:sticky;bottom:calc(.25rem + env(safe-area-inset-bottom,0px));z-index:6;margin:0 8px 8px;padding:8px;border:1px solid #e1e8f2;border-radius:14px;background:#f5f7fa!important;box-shadow:0 -4px 15px #263b5710}.game-surface>.game-actions:empty{display:none}.game-surface:focus-within{scroll-margin-top:70px}#game-card:focus{outline:0}#game-card [hidden]{display:none!important}.practice-strip{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:0 0 10px;min-width:0}.practice-strip .listening-meta{flex:1;margin:0;text-align:left;font-size:11px;line-height:1.5}.practice-strip select{flex:none;width:auto;max-width:155px;min-height:32px;border:1px solid #dce6f4;border-radius:9px;padding:5px 7px;background:#f5f8ff;color:#527196;font:500 12px system-ui}.speaking-toolbar.practice-strip{justify-content:flex-end;margin:-4px 0 6px}.listening-controls{gap:7px;flex-wrap:nowrap}.listening-controls>.listen-button{min-width:0;font-size:13px;padding:8px 10px;white-space:nowrap}.listen-auto{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;font:500 12px/1.4 system-ui;color:#65758d;min-height:38px;padding:5px 2px;cursor:pointer}.listen-auto input{margin:0;width:16px;height:16px;accent-color:#1767ed}.legacy-listen-controls{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap}.legacy-listen-controls .listen-button{margin:0}.mixed-speaking-actions,.speaking-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center;max-width:460px;margin:15px auto}.mixed-speaking-actions>.listen-button,.speaking-tools>.listen-button{margin:0;white-space:nowrap;min-width:0;font-size:13px;padding:9px 6px}.mixed-speaking-actions:not(.is-passed)>#mixed-speak,.speaking-tools:not(.is-passed)>#speak-practice{grid-column:1/-1;min-height:42px}.mixed-speaking-actions.is-passed,.speaking-tools.is-passed{grid-template-columns:repeat(3,minmax(0,1fr))}.mixed-speaking-actions.is-passed>button,.speaking-tools.is-passed>button{margin:0;min-width:0;min-height:40px;padding:8px 5px;white-space:nowrap;font-size:13px;border-radius:999px}.choices.image-choices{gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.image-choices .choice{position:relative;display:grid;place-items:center;min-width:0;padding:7px;gap:0;min-height:95px;overflow:hidden}.image-choices .choice>kbd{position:absolute;top:6px;left:6px;z-index:1;box-shadow:0 1px 4px #1e416522;background:#fffffff2;border-color:#c7d7eb;line-height:1.3;padding:2px 6px;pointer-events:none}.image-choices .choice-image{display:block;height:clamp(90px,18dvh,150px);width:100%;object-fit:contain;margin:0;border-radius:8px}.image-choices .choice>.choice-text{width:100%;min-height:90px;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px 4px 4px}.image-choices .choice.correct{border-width:2px;padding:6px}.image-choices .choice.incorrect{border-width:2px;padding:6px}@media(max-width:360px){.listening-controls{gap:5px}.listening-controls>.listen-button{font-size:12px;padding:8px}.listen-auto{font-size:11px;gap:4px}.mixed-speaking-actions.is-passed>button,.speaking-tools.is-passed>button{font-size:12px;padding:8px 3px}.practice-strip select{font-size:11px;max-width:132px}.image-choices .choice{padding:6px}}@media(min-width:768px){.mixed-speaking-actions:not(.is-passed),.speaking-tools:not(.is-passed){grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px}.mixed-speaking-actions:not(.is-passed)>#mixed-speak,.speaking-tools:not(.is-passed)>#speak-practice{grid-column:auto}.game-surface>.game-actions{margin-inline:12px}.practice-strip select{max-width:180px}}.game-surface.game-card{padding:0;min-height:0;text-align:initial}.practice-strip.listening-tabs{justify-content:space-between;margin:0 0 8px;gap:8px}.game-card .listening-controls{gap:7px;flex-wrap:nowrap}.game-card .listening-controls>.listen-button{font-size:13px;padding:8px 10px;white-space:nowrap}.game-card .mixed-speaking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-card .mixed-speaking-actions.is-passed{grid-template-columns:repeat(3,minmax(0,1fr))}.game-card .image-choices .choice-image{height:clamp(90px,18dvh,150px)}@media(max-width:360px){.game-card .listening-controls{gap:5px}.game-card .listening-controls>.listen-button{font-size:12px;padding:8px}}@media(min-width:768px){.game-card .mixed-speaking-actions:not(.is-passed){grid-template-columns:repeat(3,minmax(0,1fr))}}.progress-recordings{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;margin:14px 0;border:1px solid #dce6f4;border-radius:13px;background:#f5f8ff}.progress-recordings h3{font:600 16px system-ui;margin:0 0 6px}.progress-recordings p{font-size:13px;color:#68778b;margin:0}.progress-recordings button{flex:none;font-size:13px;min-height:40px;white-space:nowrap}.game-card .explore-details{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}.explore-details .listen-auto{font-size:12px}.game-card .explore-tools #reveal-word{font-size:13px;padding:8px 12px;white-space:nowrap}.game-card .speaking-tools:not(.is-passed)>#speak-practice{max-width:none;width:100%;justify-self:stretch}.game-card .mixed-speaking-actions:not(.is-passed)>#mixed-speak{max-width:none;width:100%;justify-self:stretch}@media(max-width:480px){.progress-recordings{flex-wrap:wrap}.progress-recordings button{width:100%}.game-card .explore-details{width:100%;justify-content:space-between;gap:8px}.game-card .explore-tools{gap:8px}}.listening-answer-image{display:block;max-width:100%;width:160px;height:120px;object-fit:contain;margin:.5rem auto;border-radius:10px}.recall-slot{position:relative;display:grid;min-width:0;cursor:pointer}.recall-content{grid-area:1/1;display:flow-root;min-width:0}.recall-slot.is-concealed .recall-content{visibility:hidden;pointer-events:none}.recall-toggle{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:12px;background:0 0;color:var(--learn-blue);cursor:pointer;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.recall-toggle:focus-visible{outline:3px solid #8ebcff;outline-offset:3px}.recall-slot.is-concealed .recall-toggle{background:0 0;box-shadow:none}.recall-mark{font-size:1.5rem;font-weight:800;line-height:1}.recall-toggle small{font-size:.7rem;line-height:1.2}.recall-preference{display:inline-flex;gap:5px;align-items:center;white-space:nowrap;font:500 12px/1.4 system-ui;color:#65758d;min-height:38px;padding:5px 2px;cursor:pointer}.recall-preference input{margin:0;width:16px;height:16px;accent-color:#1767ed}.explore-details #explore-autoplay{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.recall-keyboard-help{text-align:center;font-size:.75rem;color:var(--learn-muted);margin-top:5px}@media(hover:none),(pointer:coarse){.recall-keyboard-help{display:none}}.listening-card .listening-controls{flex-wrap:wrap}.recall-toggle{flex-direction:row;gap:7px}.recall-mark{font-size:1.3rem}.word-meta .word-ipa{font-weight:600;color:#334b68}