:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#18324b;background:#fff9e8;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit}.app-shell{display:grid;min-height:100vh;grid-template-rows:auto 1fr auto;background:radial-gradient(circle at top right,#fff0b0 0,#fff9e8 38%,#eef8ff)}.shell-header,.shell-footer{display:flex;align-items:center;gap:.6rem;padding:1.25rem clamp(1.25rem,5vw,4rem)}.app-header{display:grid;gap:.45rem;padding:1rem clamp(1.25rem,5vw,4rem) .65rem}.header-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}.header-logout{white-space:nowrap}.brand{display:inline-flex;align-items:center;text-decoration:none}.brand-logo{display:block;width:clamp(17rem,44vw,24rem);height:auto}.shell-footer{color:#6c8194;font-size:.85rem}.top-nav{display:flex;flex-wrap:wrap;gap:.25rem}.nav-link{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;border-radius:999px;color:#557086;padding:.65rem 1rem;text-decoration:none}.nav-link:hover{color:#285a7c;background:#e7f3fbe6}.nav-link.active{color:#fff;background:#18324b}.page-container{display:grid;align-items:center;width:min(960px,calc(100% - 2.5rem));margin:0 auto}.card{width:100%;margin:3rem auto;padding:clamp(2rem,6vw,4rem);border:1px solid rgba(255,255,255,.8);border-radius:2rem;background:#ffffffd1;box-shadow:0 1.5rem 4rem #1c496f1f}.hero-card{max-width:680px;padding:clamp(1rem,4vw,2rem);border-radius:2rem}.leo-home-mascot{display:flex;align-items:center;justify-content:center;width:100%;margin:19px auto 0;padding:clamp(1rem,4vw,2rem);border-radius:2rem;background:#e8a900;box-shadow:0 1.5rem 4rem #1c496f1f}.leo-home-mascot img{display:block;width:min(70vw,17.5rem);max-height:20rem;height:auto;object-fit:contain;opacity:1;transition:opacity .3s ease}.home-actions{justify-content:center}.home-actions.authenticated{display:flex;align-items:stretch;gap:.75rem}.home-cta{width:10rem;min-height:3.25rem;border:0;border-radius:999px;font:inherit;font-weight:750;text-align:center;cursor:pointer}.home-actions.authenticated .home-cta:last-child{color:#8b6500;background:#fff0b0;border:2px solid #e8a900}.muted{color:#6c8194}.button{border:0;border-radius:999px;padding:.8rem 1.15rem;color:#fff;background:#e8a900;font:inherit;font-weight:750;cursor:pointer}.loading{color:#557086}.auth-card{max-width:560px}.login-shell{grid-template-rows:auto 1fr;min-height:100dvh;background:linear-gradient(180deg,#fff4c8,#fffaf0 42%,#eaf7ff)}.login-header{justify-content:center;padding:1.25rem 1rem .25rem}.login-header .header-row{justify-content:center}.login-header .brand-logo{width:clamp(8.4375rem,39.375vw,11.25rem)}.login-shell .page-container{width:min(100% - 2rem,30rem);align-items:start}.login-layout{width:100%}.auth-card{margin:0 auto 1.5rem;padding:clamp(1.5rem,6vw,2.25rem);border-color:#fffffff2;box-shadow:0 1.25rem 3rem #30638224}.auth-card h1{margin-top:0;text-align:center;font-size:clamp(1.7rem,7vw,2.25rem)}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.25rem;margin:1.25rem 0 1.5rem;padding:.25rem;border-radius:999px;background:#fff2c9}.auth-tab{min-height:2.75rem;border-radius:999px;color:#8b6b28;background:transparent;font-weight:800}.auth-tab.active{color:#fff;background:#e8a900;box-shadow:0 .2rem .45rem #be800033}.auth-form{display:grid;gap:1rem}.auth-form label{display:grid;gap:.4rem;color:#285a7c;font-weight:700}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon>span{position:absolute;left:1rem;z-index:1;font-size:1.15rem}.input-with-icon>span img{display:block;width:1.5rem;height:1.5rem;object-fit:contain}.auth-form input{width:100%;min-height:3rem;border:2px solid #f2d58b;border-radius:1rem;padding:.8rem 1rem .8rem 2.8rem;color:#18324b;background:#fff;font:inherit}.auth-form input:focus{outline:3px solid rgba(232,169,0,.25);border-color:#e8a900}.reset-link{justify-self:end;margin-top:.05rem;color:#b97700;background:transparent;font-size:.82rem;font-weight:800;cursor:pointer}.form-submit{border:0;cursor:pointer}.auth-card .form-submit{width:100%;min-height:3.25rem;margin-top:.35rem;border-radius:999px;box-shadow:0 .35rem .7rem #be800038;font-size:1rem}.student-summary{display:flex;align-items:center;gap:1rem;margin:1.25rem 0 .75rem;padding:1rem;border:1px solid #f2d58b;border-radius:1.25rem;background:#fffdf4}.student-summary h2{margin:0;color:#285a7c}.student-summary p{margin:.25rem 0 0}.student-avatar{width:4rem;height:4rem;display:grid;place-items:center;flex:0 0 4rem;overflow:hidden;border-radius:50%;color:#285a7c;background:#e7f3fb;font-size:1.5rem;font-weight:800}.student-avatar img{width:100%;height:100%;object-fit:cover}.dashboard-card>.subject-reopen{margin:0 0 1rem}.student-summary-copy{min-width:0;flex:1}.icon-button{width:2.75rem;height:2.75rem;flex:0 0 2.75rem;border:0;border-radius:50%;color:#285a7c;background:#e7f3fb;font-size:1.3rem;cursor:pointer}.progress-trigger{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .75rem}.dashboard-quick-actions{display:flex;gap:.75rem;margin:1rem 0}.dashboard-quick-actions>button{flex:1;min-height:3.25rem;border:0;border-radius:999px;font:inherit;font-weight:750;box-shadow:0 .35rem .7rem #14283f24}.dashboard-quick-actions .subject-reopen{margin:0;color:#fff;background:#18324b}.dashboard-quick-actions .progress-trigger{margin:0;color:#fff;background:#e8a900}.logout-link{display:block;margin:.1rem 0 1rem auto;color:#6c8194;background:transparent;font:inherit;font-size:.85rem;cursor:pointer}.form-submit:disabled{cursor:wait;opacity:.65}.form-error{color:#a33b32;line-height:1.5}.legacy-link{margin-top:1.5rem}.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.dashboard-heading h1{font-size:clamp(1.45rem,4vw,2.6rem)}.dashboard-card h2{color:#285a7c}.progress-backdrop{position:fixed;inset:0;z-index:35;display:grid;place-items:center;padding:1rem;background:#153b5b7a}.progress-modal{position:relative;width:min(100%,620px);padding:1.5rem;border-radius:1.5rem;background:#fff;color:#285a7c;box-shadow:0 1rem 3rem #14283f40}.button-reset{border:0;cursor:pointer;font:inherit}.student-list{display:grid;gap:.7rem;margin:1rem 0 1.5rem}.student-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:2px solid transparent;border-radius:1rem;color:#285a7c;background:#eef8ff;cursor:pointer}.student-row:hover,.student-row.selected{border-color:#e8a900;background:#fff9e8}.student-row>div:first-child{display:grid;gap:.25rem}.student-actions{display:flex;align-items:center;gap:.5rem}.student-actions a,.student-actions button{padding:.55rem .8rem;font-size:.85rem}.selected-student-note{margin:.75rem 0 1rem;color:#d28700;font-weight:750}.student-row span{color:#6c8194}.legacy-link a{color:#285a7c;font-weight:700}.lesson-card{max-width:760px}.lesson-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.lesson-heading h1{font-size:clamp(2rem,6vw,3.5rem)}.lesson-progress{margin:2rem 0 .75rem;color:#6c8194;font-weight:700}.lesson-item{min-height:260px;display:grid;justify-items:center;align-content:center;gap:.5rem;padding:1.5rem;border-radius:1.25rem;text-align:center;background:#eef8ff}.lesson-item h2{margin:0;color:#153b5b;font-size:clamp(2rem,7vw,3.5rem)}.lesson-image{width:min(240px,80%);max-height:180px;border-radius:1rem;object-fit:contain}.vocabulary-lesson-card .lesson-image{aspect-ratio:4 / 3;object-fit:cover}.lesson-audio{width:min(360px,100%)}.lesson-ipa{margin:0;color:#557086;font-size:1.1rem}.lesson-meaning{margin:0;color:#d28700;font-weight:800}.vocabulary-progress{width:100%;height:.65rem;accent-color:#e8a900}.vocabulary-word-item{gap:.75rem}.vocabulary-audio-button{margin-top:.5rem}.lesson-controls{display:flex;justify-content:space-between;gap:1rem;margin:1rem 0 1.5rem}.lesson-controls button:disabled{cursor:not-allowed;opacity:.45}.lesson-action{white-space:nowrap}.feature-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.collection-card{max-width:960px}.collection-card h1,.community-layout h1{font-size:clamp(2rem,6vw,3.5rem)}.unit-tabs,.leaderboard-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0}.unit-tab,.leaderboard-tab{display:grid;gap:.2rem;border:1px solid #c9dce9;border-radius:1rem;padding:.7rem .9rem;color:#285a7c;background:#fff;font:inherit;font-weight:750;cursor:pointer}.unit-tab small{color:#6c8194;font-weight:500}.unit-tab.active,.leaderboard-tab.active{color:#fff;border-color:#285a7c;background:#285a7c}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:1rem}.collection-tile{display:block;position:relative;aspect-ratio:1050 / 1489;min-height:0;padding:0;border:1px solid #c9dce9;border-radius:1rem;color:#285a7c;background:#fff;font:inherit;cursor:pointer}.collection-tile{position:relative;overflow:hidden}.collection-tile img.collection-card-image{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:contain;border-radius:.7rem}.collection-frame-overlay{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.collection-tile small.collection-score{position:absolute;top:.65rem;right:.65rem;z-index:3;padding:.2rem .4rem;border-radius:.45rem;background:#ffffffe6;color:#d28700}.collection-tile.locked{color:#6c8194;background:#f2f5f7}.collection-tile small{color:#d28700;font-weight:800}.lock-symbol{font-size:2.5rem}.empty-state{padding:2rem 1rem;color:#6c8194;text-align:center}.collection-modal{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#153b5b73}.collection-modal .card{position:relative;max-width:420px;margin:0;text-align:center}.modal-close{position:absolute;top:1rem;right:1rem;color:#557086;background:transparent;cursor:pointer;font:inherit}.modal-card-stage{position:relative;width:min(320px,82vw);aspect-ratio:1050 / 1489;margin:1.5rem auto .75rem;overflow:hidden}.modal-card-image,.modal-frame-overlay{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.modal-card-image{z-index:0}.modal-frame-overlay{z-index:1;pointer-events:none}.modal-pronunciation-score{margin:.75rem 0 1rem;color:#285a7c;font-weight:800}.community-layout{display:grid;gap:1rem;width:100%}.community-layout .card{margin:0}.community-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.community-stats div{display:grid;gap:.25rem;padding:1rem;border-radius:1rem;background:#eef8ff}.community-stats strong{color:#285a7c;font-size:2rem}.community-stats span,.recent-student small,.leaderboard-person small{color:#6c8194}.recent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.8rem}.recent-student{display:grid;justify-items:center;gap:.3rem;padding:.8rem;border-radius:1rem;text-align:center;background:#fff9e8}.recent-student img,.recent-student>span,.leaderboard-person img,.leaderboard-person i{width:3rem;height:3rem;display:grid;place-items:center;border-radius:50%;color:#285a7c;background:#e7f3fb;object-fit:cover;font-style:normal}.leaderboard-list{display:grid;gap:.5rem}.leaderboard-row{display:flex;align-items:center;gap:.8rem;padding:.7rem;border-radius:.8rem;background:#f7fbfd}.leaderboard-row b{width:2rem;color:#d28700;text-align:center}.leaderboard-person{display:flex;align-items:center;gap:.6rem;flex:1}.leaderboard-person>span{display:grid;gap:.1rem}.audio-card{max-width:760px}.record-button{width:11rem;height:11rem;display:block;margin:2rem auto;border:0;border-radius:50%;color:#fff;background:#e8a900;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 .6rem #b57900}.vocabulary-record-button{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.record-button.recording{background:#d9534f;box-shadow:0 .6rem #9e3632}.record-button:disabled{cursor:wait;opacity:.65}.result-panel,.conversation-panel,.transcript-panel{margin:1rem 0;padding:1rem;border-radius:1rem;background:#eef8ff}.result-panel{color:#285a7c}.ar-result{text-align:center}.ar-result-score{color:#0d2543;font-size:2.75rem;font-weight:800}.ar-result-stars{color:#f5a524;font-size:1.4rem;letter-spacing:.15rem}.ar-result-feedback{margin:1rem 0;padding:.8rem;border:1px solid #fed7aa;border-radius:.8rem;background:#fff7ed;color:#7c3f0e}.ar-result-unlock{margin:1rem 0;padding:.8rem;border-radius:.8rem;background:#ecfdf5;color:#047857;font-weight:800}.transcript-panel{text-align:center;font-size:1.4rem;font-weight:750}.transcript-text{display:flex;align-items:center;justify-content:center;gap:.75rem}.transcript-text p{margin:0}.translation-button{min-width:2.75rem;min-height:2.75rem;border:1px solid #c9dce9;border-radius:50%;background:#fff;cursor:pointer;font-size:1.1rem}.translation-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1rem;background:#0d254373}.translation-modal{width:min(100%,30rem);max-width:30rem;padding:1.25rem;border-radius:1rem;background:#fff;color:#285a7c;box-shadow:0 1rem 3rem #0d254340}.translation-modal-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.translation-modal h2{margin:0;font-size:1.1rem}.translation-modal>p{margin:1.25rem 0;font-size:1.25rem;font-weight:700}.translation-close{border:0;background:transparent;color:#285a7c;cursor:pointer;font-size:1.75rem;line-height:1}.video-wrap{position:relative;width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:1rem}.video-frame{width:100%;height:100%;border:0}.video-click-shield{position:absolute;inset:0;z-index:10;background:transparent;cursor:default;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.vocabulary-mascots{display:flex;justify-content:center;gap:.75rem}.vocabulary-mascots img{width:3.5rem;height:3.5rem;object-fit:contain}.difficulty-stars{color:#e8a900;letter-spacing:.12rem}.vocabulary-speed{display:inline-flex;align-items:center;gap:.4rem;margin:.5rem;color:#285a7c;font-weight:700}.vocabulary-result-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:.75rem;background:#0d254380}.vocabulary-result-modal{width:min(100%,32rem);max-height:92dvh;overflow-y:auto;padding:1.25rem;border-radius:1.5rem;background:#fff;color:#285a7c;text-align:center}.vocabulary-score{display:grid;gap:.2rem;margin:.75rem auto;padding:1rem;border-radius:1rem;color:#fff}.vocabulary-score strong{font-size:2.5rem}.score-high{background:linear-gradient(135deg,#10b981,#2dd4bf)}.score-medium{background:linear-gradient(135deg,#fb923c,#f59e0b)}.score-low{background:linear-gradient(135deg,#f43f5e,#ef4444)}.vocabulary-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0}.vocabulary-breakdown p{margin:0;padding:.75rem;border:1px solid #c9dce9;border-radius:.75rem}.vocabulary-confetti{margin:.75rem;font-size:1.8rem}.headset-warning{margin:.5rem auto;padding:.6rem;border:1px solid #f5c26b;border-radius:.75rem;color:#9a5b00;background:#fff4d6;font-size:.8rem;font-weight:700}.pronunciation-score-card{display:grid;gap:1rem;margin:1rem 0;text-align:left}.btn-3d{position:relative;border:0;transition:transform .12s ease,box-shadow .12s ease}.pwa-install-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:end center;padding:1rem;background:#0d254359}.pwa-install-popup{position:relative;width:min(100%,26rem);padding:1.25rem;border:1px solid #f4d36f;border-radius:1.25rem;color:#285a7c;background:#fffdf4;box-shadow:0 1rem 3rem #0d254333;text-align:center}.pwa-install-popup h2{margin:.25rem 0 .5rem}.pwa-install-popup p{margin:.5rem 0 1rem;line-height:1.5}.pwa-install-popup .primary-action,.pwa-install-popup .secondary-action{margin:.25rem}.pwa-install-close{position:absolute;top:.5rem;right:.65rem;border:0;color:#557086;background:transparent;font-size:1.6rem;cursor:pointer}.pwa-install-icon{font-size:2rem}.pwa-update-toast{position:fixed;right:1rem;bottom:1rem;z-index:100;display:flex;align-items:center;gap:.7rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;border:1px solid #f4d36f;border-radius:.9rem;color:#fff;background:#153b5b;box-shadow:0 .75rem 2rem #0d254340}.pwa-update-action{border:0;border-radius:.55rem;padding:.45rem .7rem;color:#153b5b;background:#f4d36f;font:inherit;font-weight:700;cursor:pointer}.pwa-update-close{border:0;padding:0;color:#fff;background:transparent;font-size:1.3rem;line-height:1;cursor:pointer}.roleplay-intro{display:grid;gap:1rem}.roleplay-scenario-info{display:flex;align-items:center;gap:.8rem;padding:.8rem;border-radius:1rem;background:#f7fbfd}.roleplay-scenario-info img{width:5rem;height:5rem;object-fit:cover;border-radius:.8rem}.roleplay-scenario-info p{margin:0;color:#6c8194}.roleplay-scenario-info strong{color:#285a7c}.roleplay-intro h2{text-align:center}.roleplay-character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.roleplay-character-card{display:grid;place-items:center;gap:.5rem;padding:1rem;border:2px solid #f4d36f;border-radius:1rem;color:#285a7c;background:#fffdf4;cursor:pointer}.roleplay-character-card.selected{background:#fff0b5;box-shadow:0 .35rem #f4d36f}.roleplay-avatar{width:4.5rem;height:4.5rem;object-fit:cover;border:3px solid #f4d36f;border-radius:50%;background:#fff}.roleplay-start-button{justify-self:center;min-width:14rem}.roleplay-conversation{display:grid;gap:.75rem;margin:1rem 0}.roleplay-message{display:flex;align-items:flex-end;gap:.55rem;width:100%}.roleplay-message p{max-width:75%;margin:0;padding:.7rem .85rem;border-radius:1rem;line-height:1.45}.teacher-message{justify-content:flex-start}.teacher-message p{border-top-left-radius:.25rem;background:#fff4bf;color:#285a7c}.student-message{justify-content:flex-end;flex-direction:row-reverse}.student-message p{border-top-right-radius:.25rem;background:#e7e9ff;color:#27336f}.roleplay-bubble-avatar{flex:0 0 auto}.roleplay-bubble-avatar .roleplay-avatar{width:3rem;height:3rem}.roleplay-avatar-fallback{display:grid;place-items:center;width:3rem;height:3rem;border:3px solid #5364d8;border-radius:50%;background:#eef0ff;font-size:1.4rem}.roleplay-typing{letter-spacing:.2rem;font-weight:700}.roleplay-card .record-button{margin-inline:auto}.roleplay-message-content{display:flex;flex-direction:column;align-items:flex-start;max-width:75%}.student-message .roleplay-message-content{align-items:flex-end}.roleplay-message-tools{display:flex;gap:.25rem;margin:0 0 .2rem}.roleplay-message-tools button{border:0;padding:.1rem .25rem;color:#285a7c;background:transparent;font-size:.9rem;cursor:pointer}.roleplay-message-content>p{max-width:none}.roleplay-translation{display:block;margin-top:.3rem;padding:.35rem .55rem;border-radius:.55rem;color:#5364d8;background:#f3f4ff;line-height:1.35}.btn-3d:active{transform:translateY(4px);box-shadow:0 1px 0 var(--btn-shadow)!important}.btn-amber{--btn-shadow: #a66f00;box-shadow:0 5px 0 var(--btn-shadow);background:#e8a900}.btn-slate{--btn-shadow: #30495d;box-shadow:0 5px 0 var(--btn-shadow);background:#557086}.btn-red{--btn-shadow: #8d302d;box-shadow:0 5px 0 var(--btn-shadow);background:#d9534f}.btn-red.recording{--btn-shadow: #6f211e;background:#c53d39}.difficulty-row{display:flex;align-items:center;justify-content:center;gap:.55rem;color:#285a7c;font-weight:750}.difficulty-row span:last-child{font-size:1.25rem;letter-spacing:.08rem}.difficult-sounds{margin:0;color:#b5590a;font-size:.8rem;font-weight:750}.transcript-button{min-height:2.5rem;border:1px solid #c9dce9;border-radius:999px;padding:.5rem .85rem;color:#285a7c;background:#fff;cursor:pointer;font:inherit;font-weight:700}.pronunciation-primary{display:grid;justify-items:center;gap:.45rem;color:#285a7c;font-weight:800}.pronunciation-ring{display:grid;place-items:center;width:9rem;height:9rem;border-radius:50%;background:conic-gradient(#e8a900 var(--score-angle),#e7f3fb 0);animation:pronunciation-ring-in .65s ease-out both}.pronunciation-ring>div{display:grid;place-items:center;width:7.15rem;height:7.15rem;border-radius:50%;background:#fff}.pronunciation-ring strong{color:#153b5b;font-size:2.5rem;line-height:1}.pronunciation-ring small{color:#6c8194;font-size:.85rem}.pronunciation-dimensions{display:grid;gap:.8rem}.pronunciation-dimension-heading{display:flex;justify-content:space-between;gap:1rem;color:#285a7c;font-weight:750}.pronunciation-dimension-heading small{margin-left:.15rem;color:#6c8194;font-size:.7rem;font-weight:600}.pronunciation-bar{height:.6rem;margin-top:.35rem;overflow:hidden;border-radius:999px;background:#e7f3fb}.pronunciation-bar span{display:block;height:100%;border-radius:inherit;background:#2e9e5b;animation:pronunciation-bar-in .7s ease-out both;transform-origin:left}.pronunciation-transcription{margin:.5rem 0 1rem;padding:.75rem;border-radius:.75rem;color:#557086;background:#f7fbfd}.pronunciation-feedback{margin:1rem 0;padding:.85rem;border-radius:.85rem;background:#fff9e8;text-align:left}.pronunciation-feedback h3{margin:0 0 .35rem;color:#285a7c;font-size:1rem}.pronunciation-feedback p{margin:.35rem 0}.azure-attribution{margin:1rem 0 0;color:#8293a1;font-size:.72rem;line-height:1.45}.azure-attribution span{font-weight:600}.speaking-result{text-align:center}.speaking-result h2{margin-top:0}@keyframes pronunciation-ring-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pronunciation-bar-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.pronunciation-ring,.pronunciation-bar span{animation:none}}@media(max-width:639px){.app-shell:has(.vocabulary-lesson-card){min-height:100dvh;height:100dvh;overflow:hidden}.app-shell:has(.vocabulary-lesson-card) .app-header{padding:.35rem .75rem}.app-shell:has(.vocabulary-lesson-card) .top-nav{display:none}.app-shell:has(.vocabulary-lesson-card) .page-container{min-height:0;height:100%;align-items:stretch}.vocabulary-lesson-card{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;margin:0 auto;padding:.55rem .7rem;border-radius:1rem}.vocabulary-lesson-card .lesson-heading{flex:0 0 auto;gap:.25rem}.vocabulary-lesson-card .lesson-heading h1{margin:.1rem 0;font-size:1.25rem}.vocabulary-lesson-card .lesson-progress{flex:0 0 auto;margin:.25rem 0 .15rem}.vocabulary-lesson-card .vocabulary-progress{flex:0 0 auto;height:.5rem}.vocabulary-lesson-card .lesson-item{position:relative;display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;gap:.18rem;padding:.4rem .5rem 4.8rem}.vocabulary-lesson-card .lesson-image{width:min(32vw,120px);max-height:18vh;flex:0 1 auto;margin:0 auto}.vocabulary-lesson-card .vocabulary-mascots{flex:0 0 3.2rem;gap:1.2rem;align-items:center;justify-content:center}.vocabulary-lesson-card .vocabulary-mascots img{width:3rem;height:3rem;object-fit:contain}.vocabulary-lesson-card .lesson-item h2{flex:0 0 auto;margin:.05rem 0;font-size:clamp(1.6rem,8vw,2.25rem)}.vocabulary-lesson-card .lesson-ipa,.vocabulary-lesson-card .difficulty-row,.vocabulary-lesson-card .difficult-sounds,.vocabulary-lesson-card .transcript-button,.vocabulary-lesson-card .lesson-item>.muted{flex:0 0 auto;margin:.05rem 0}.vocabulary-lesson-card .lesson-controls{display:flex;flex:0 0 auto;gap:.4rem;margin:.25rem 0 .15rem}.vocabulary-lesson-card .lesson-controls>*{min-width:0;flex:1;padding:.45rem .3rem;font-size:.72rem}.vocabulary-lesson-card .vocabulary-speed{flex:0 0 auto;justify-content:center;margin:.05rem auto;font-size:.78rem}.vocabulary-lesson-card .vocabulary-record-button{position:absolute;right:50%;bottom:.55rem;z-index:2;width:4.4rem;height:4.4rem;margin:0;transform:translate(50%);font-size:.62rem}.vocabulary-lesson-card .headset-warning,.vocabulary-lesson-card .vocabulary-record-button+.headset-warning,.vocabulary-lesson-card .vocabulary-record-button~.form-error{flex:0 0 auto;max-width:100%;margin:.1rem 0;font-size:.68rem}.vocabulary-lesson-card .lesson-item>.lesson-action{display:none}.vocabulary-lesson-card>.lesson-controls{flex:0 0 auto;gap:.55rem;margin:.4rem 0 0}.vocabulary-lesson-card>.legacy-link{display:none}}@media(min-width:640px){.vocabulary-lesson-card{height:auto}}@media(max-width:639px){.app-shell:has(.sentence-lesson-card){min-height:100dvh;height:100dvh;overflow:hidden}.app-shell:has(.sentence-lesson-card) .app-header{padding:.45rem .75rem}.app-shell:has(.sentence-lesson-card) .shell-main{min-height:0}.sentence-lesson-card{height:100%;min-height:0;overflow:hidden;margin:0 auto;padding:.7rem .8rem;border-radius:1rem}.sentence-lesson-card .lesson-heading{gap:.25rem}.sentence-lesson-card .lesson-heading h1{margin:.1rem 0;font-size:1.35rem}.sentence-lesson-card .lesson-progress{margin:.35rem 0 .2rem}.sentence-lesson-card .lesson-item{min-height:0;flex:1;gap:.25rem;padding:.5rem}.sentence-lesson-card .sentence-mascots img{width:2.5rem;height:2.5rem;object-fit:contain}.sentence-lesson-card .lesson-item h2{font-size:clamp(1.35rem,7vw,2.1rem)}.sentence-lesson-card .sentence-audio-actions{gap:.55rem}.sentence-lesson-card .sentence-audio-actions>*{min-width:0;flex:1;padding:.55rem .4rem;font-size:.78rem}.sentence-lesson-card .record-button{width:6.25rem;height:6.25rem;margin:.45rem auto}.sentence-lesson-card>.lesson-controls{gap:.55rem;margin:.45rem 0 0}.sentence-lesson-card>.lesson-controls>*{min-width:0;flex:1;padding:.55rem .4rem;font-size:.78rem}.sentence-lesson-card>.legacy-link{display:none}}@media(min-width:640px){.sentence-lesson-card{height:auto}}.feature-list{display:grid;gap:.75rem}.feature-list-item{display:flex;align-items:center;gap:.75rem;border:1px solid #c9dce9;border-radius:1rem;padding:.8rem;color:#285a7c;background:#fff;font:inherit;font-weight:750;text-align:left;cursor:pointer}.feature-list-item img{width:5rem;height:3rem;border-radius:.5rem;object-fit:cover}.feature-list-item span{display:grid;gap:.2rem}.feature-list-item small{color:#6c8194;font-weight:500}.ai-turn,.student-turn{max-width:85%;margin:.5rem 0;padding:.7rem;border-radius:1rem}.ai-turn{margin-right:auto;background:#fff}.student-turn{margin-left:auto;color:#fff;background:#285a7c}.bottom-nav{display:none}.ar-test-card{max-width:960px}.ar-view{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;overflow:hidden;background:#05080d;touch-action:none}.ar-view-back{position:fixed;top:calc(.75rem + env(safe-area-inset-top));left:.75rem;z-index:10;min-height:2.75rem;padding:.55rem .9rem;border:0;border-radius:999px;color:#fff;background:#14283fd9;font:inherit;font-weight:800}.ar-fatal-state{position:fixed;z-index:12;inset:0;display:grid;place-content:center;justify-items:center;gap:.8rem;padding:1.5rem;color:#fff;background:#05080df0;text-align:center}.ar-fatal-state h1,.ar-fatal-state p{margin:0}.ar-fatal-state a{min-width:12rem}.ar-view canvas,.ar-view video{position:absolute!important;max-width:none;max-height:none}.ar-view-status,.ar-view-word{position:fixed;z-index:3;left:50%;transform:translate(-50%);color:#fff;text-align:center;text-shadow:0 1px 4px #000}.ar-view-status{top:1rem;width:min(90%,30rem);padding:.7rem 1rem;border-radius:999px;background:#0006}.ar-view-word{top:4.5rem;display:flex;align-items:center;gap:.5rem;padding:.45rem .75rem;border-radius:.7rem;color:#14283f;background:#ffc93c;font-size:1.35rem;font-weight:800;text-shadow:none}.ar-audio-button{width:2.75rem;height:2.75rem;border:0;border-radius:50%;background:#fff;box-shadow:0 .2rem .45rem #00000040;font-size:1.2rem;cursor:pointer}.ar-audio-button:disabled{opacity:.55;cursor:not-allowed}.ar-audio-error{position:absolute;top:3rem;left:50%;transform:translate(-50%);font-size:.72rem;font-weight:600;white-space:nowrap}.ar-view-controls{position:fixed;z-index:4;right:0;bottom:0;left:0;display:grid;justify-items:center;gap:.4rem;padding:.8rem 1rem calc(.8rem + env(safe-area-inset-bottom));background:linear-gradient(transparent,#000000bf)}.ar-view-record{width:5rem;height:5rem;margin:0;font-size:.7rem;box-shadow:0 .35rem #b57900}.ar-view-controls p{margin:0;color:#fff}.collection-progress{margin-top:.9rem;padding:.7rem .6rem;border:1px solid #c9dce9;border-radius:1rem;background:#f7fbfe}.collection-progress-title{margin:0 0 .5rem;color:#285a7c;font-size:.78rem;font-weight:800;letter-spacing:.04em;text-align:center;text-transform:uppercase}.collection-progress-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0;padding:0;list-style:none}.collection-progress-item{display:flex;align-items:center;gap:.3rem;min-height:2.25rem;padding:.3rem .65rem;border:1px solid #dbeaf4;border-radius:999px;background:#fff}.collection-progress-icon{font-size:1rem;line-height:1}.collection-progress-value{color:#14283f;font-size:.95rem;font-weight:800}.collection-progress-label{color:#6c8194;font-size:.72rem;font-weight:700}.collection-export-bar{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-top:.9rem}.collection-export-bar .primary-action{min-width:14rem}.collection-export-bar .form-error{font-size:.78rem;text-align:center}.activity-back-link{display:inline-flex;align-items:center;min-height:2.5rem;margin:.5rem 0 .35rem auto;padding:.5rem .95rem;border-radius:999px;color:#fff;background:#18324b;font-weight:800;text-decoration:none}.audio-card>.activity-back-link,.lesson-card>.activity-back-link{width:fit-content}.ar-mic-block{padding:.35rem .75rem calc(.35rem + env(safe-area-inset-bottom));background:none;gap:.15rem}.ar-mic-block .vocab-record-block{min-height:0;padding:0;border-radius:0;background:none;gap:.15rem}.ar-mic-block .vocab-record-block>p:empty{display:none}.ar-mic-block .vocab-record-block>.vocabulary-record-button{min-width:11rem;width:min(78vw,16rem)!important;height:3.25rem!important;margin:0!important;box-shadow:0 .3rem #b57900}.ar-mic-block .recording-waveform{order:0}.ar-audio-error{color:#ffd166}.ar-recording-progress{width:min(15rem,80vw);height:.6rem;accent-color:#ffc93c}.ar-result-actions{display:flex;justify-content:center;gap:.6rem}.ar-result-actions button{min-height:2.75rem;padding:.65rem 1rem;border:0;border-radius:999px;color:#fff;background:#285a7c;font:inherit;font-weight:750}.ar-stars{display:flex;justify-content:center;gap:.15rem;color:#cbd5e1;font-size:2.2rem}.ar-stars .filled{color:#ffc93c}.ar-leo-result{display:block;width:7rem;height:7rem;margin:.5rem auto;object-fit:contain}.ar-transcript-button,.ar-audio-replay{min-height:2.5rem;margin:.25rem;border:0;border-radius:999px;padding:.5rem .8rem;background:#eef8ff;color:#285a7c;font:inherit;font-weight:750}.ar-feedback-text{min-height:3rem}.ar-view-result{position:fixed;z-index:8;inset:10% 1rem auto;width:min(100% - 2rem,26rem);margin:auto;padding:1.2rem;border-radius:1.2rem;color:#285a7c;background:#fff;text-align:center;box-shadow:0 1rem 3rem #00000059}.ar-view-result strong{display:block;font-size:3rem}.ar-view-result>div{color:#f5a524;font-size:1.5rem;letter-spacing:.15rem}.ar-view-result button{padding:.75rem 1rem;border:0;border-radius:999px;color:#fff;background:#285a7c;font:inherit;font-weight:750}.ar-test-form{display:grid;gap:.5rem;margin:1.5rem 0;color:#285a7c;font-weight:750}.ar-test-input-row{display:flex;gap:.6rem}.ar-test-input-row input{min-width:0;flex:1;border:1px solid #c9dce9;border-radius:999px;padding:.8rem 1rem;font:inherit}.ar-test-word{display:grid;gap:.2rem;margin:1rem 0;padding:1rem;border-radius:1rem;background:#eef8ff}.ar-test-word span,.ar-test-word small{color:#6c8194}.ar-test-word strong{color:#285a7c;font-size:1.8rem}.ar-test-status{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:1rem 0}.ar-test-status div{padding:.8rem;border-radius:.8rem;background:#f7fbfd}.ar-test-status dt{color:#6c8194;font-size:.8rem}.ar-test-status dd{margin:.25rem 0 0;color:#285a7c;font-weight:800}.ar-test-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.ar-test-viewport{min-height:360px;overflow:hidden;border-radius:1rem;background:#0d1420;touch-action:none}.ar-test-note{margin-top:1rem}.game-card{max-width:760px}.game-topbar{display:flex;justify-content:flex-start;margin-bottom:.5rem}.game-back{min-height:44px}.game-route-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;max-width:760px;margin:0 auto .5rem;padding:.5rem 1rem 0}.game-route-toolbar .game-sunny-mascot{width:4.5rem;height:4.5rem;margin:0}.game-interactive,.game-options>button,.memory-card-tile,.scene-object,.food-tile,.reflex-mole,.match-item{min-height:56px;touch-action:manipulation}.game-feedback-shell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;margin:.9rem 0}.game-feedback-shell .game-sunny-mascot{width:4.5rem;height:4.5rem;margin:0}.game-feedback-shell .speech-replay{min-width:56px;min-height:56px}.game-options{gap:.75rem;margin-top:15px}.game-sunny-mascot{display:block;width:clamp(6rem,24vw,9rem);height:clamp(6rem,24vw,9rem);margin:.35rem auto .75rem;object-fit:contain}.direct-match-feedback .game-feedback-shell{margin:.35rem 0 .75rem}.direct-match-feedback .game-feedback-shell .game-sunny-mascot{width:clamp(6rem,24vw,9rem);height:clamp(6rem,24vw,9rem);margin:.35rem auto .75rem}.direct-match-intro-mascot{display:flex;justify-content:center;text-align:center}.direct-match-intro-mascot .game-sunny-mascot{margin:.35rem auto .75rem}.direct-match-completion{display:grid;justify-items:center;text-align:center}.direct-match-completion .game-sunny-mascot{width:6.75rem;height:6.75rem;margin:0 auto .75rem}.cz-sentence-box{display:flex;align-items:center;gap:.65rem}.cz-sentence-box .cz-sentence{flex:1;margin:0}.wb-slots{position:relative}.cz-sentence{font-size:clamp(1.45rem,4.5vw,2.25rem);line-height:1.35;font-weight:800}.cz-options,.wb-pool{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem}.cz-options{margin-top:15px}.cz-option,.wb-tile{min-height:56px;padding:.75rem 1rem;border:3px solid #ffc93c;border-radius:1rem;background:#fff9df;color:#14283f;font:inherit;font-size:clamp(1.15rem,3.8vw,1.55rem);font-weight:800;cursor:pointer;touch-action:manipulation}.cz-option:disabled,.wb-tile:disabled{cursor:not-allowed;opacity:.5}.game-prompt{margin:1rem 0 .35rem;color:#285a7c;font-weight:750}.game-palette{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin:1.25rem 0}.game-swatch{width:2.8rem;height:2.8rem;border:3px solid #c9dce9;border-radius:50%;cursor:pointer}.game-swatch.selected{border-color:#18324b;outline:3px solid #e8a900;transform:scale(1.08)}.game-picture{margin:1rem 0;padding:.6rem;border:3px solid #c9dce9;border-radius:1rem;background:#fff}.game-picture svg{display:block;width:100%;height:auto}.game-picture [data-cbw-paintable],.game-picture [data-cbw-auto-id]{cursor:pointer}.game-actions{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap}.match-board{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.25rem,8vw,3.5rem);margin:1.25rem 0 .5rem}.match-progress{height:.55rem;margin:.8rem 0;overflow:hidden;border-radius:999px;background:#e7f3fb}.match-progress div{height:100%;border-radius:inherit;background:#e8a900;transition:width .2s ease}.match-lines{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;overflow:visible}.match-board>div{position:relative;z-index:1}.match-line-correct{stroke:#2e9d62;stroke-width:3;stroke-linecap:round}.match-board>div{display:grid;gap:.65rem}.match-item{min-width:0;border:3px solid #c9dce9;border-radius:.75rem;padding:.7rem .55rem;color:#18324b;background:#fff;font:inherit;font-weight:750;cursor:pointer;overflow-wrap:anywhere}.match-item.selected{border-color:#e8a900;background:#fff9e8}.match-item.matched{border-color:#2e9d62;background:#effaf3;opacity:.75}.match-item.wrong{border-color:#d9534f;animation:match-shake .4s ease}@keyframes match-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.match-feedback{margin:.5rem 0;font-weight:800;text-align:center}.match-feedback.success{color:#2e9d62}.match-feedback.error{color:#d9534f}@media(max-width:420px){.match-board{gap:1rem}.match-item{font-size:.85rem;padding:.55rem .4rem}}.food-bins{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}.food-bin{min-height:9rem;display:flex;flex-direction:column;align-items:center;gap:.25rem;border:3px dashed #c9dce9;border-radius:1rem;padding:.7rem;background:#fff}.food-bin.drag-over{border-color:#e8a900;background:#fff9e8;transform:scale(1.02)}.food-bin.wrong-flash{animation:match-shake .4s ease;border-color:#d9534f}.food-bin-icon{font-size:2rem;line-height:1}.food-bin strong{color:#285a7c}.food-bin small{color:#6c8194}.food-collected{display:flex;flex-wrap:wrap;justify-content:center;gap:.3rem}.food-collected-item{display:grid;place-items:center;width:2rem;height:2rem;border:2px solid #2e9d62;border-radius:.5rem;background:#effaf3}.food-pool{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;min-height:5rem;margin:1rem 0;padding:.7rem;border-radius:1rem;background:#e7f3fb}.food-tile{width:3.6rem;height:3.6rem;border:3px solid #e8a900;border-radius:.85rem;background:#fff;font-size:1.9rem;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.food-tile.dragging{transform:scale(1.1);box-shadow:0 .75rem 1.4rem #00000047}.food-tile:active{transform:scale(1.08)}.food-feedback{text-align:center;font-weight:800}.food-feedback.success{color:#2e9d62}.food-feedback.error{color:#d9534f}.food-progress{height:.55rem;margin:.8rem 0;overflow:hidden;border-radius:999px;background:#e7f3fb}.food-progress div{height:100%;border-radius:inherit;background:#e8a900;transition:width .15s ease}.speech-replay{border:0;background:transparent;cursor:pointer;font-size:1rem}.eyebrow{margin:0 0 .75rem;color:#d28700;font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}h1{margin:0;color:#153b5b;font-size:clamp(2.4rem,8vw,4.5rem);line-height:1}.intro{max-width:52ch;margin:1.5rem 0 2rem;color:#557086;font-size:1.08rem;line-height:1.7}.shell-actions{display:flex;flex-wrap:wrap;gap:.8rem}.primary-action,.secondary-action{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.8rem 1.15rem;font-weight:750;text-decoration:none}.primary-action{color:#fff;background:#e8a900}.secondary-action{color:#285a7c;background:#e7f3fb}.dashboard-layout{display:grid;gap:1rem;width:100%}.dashboard-heading-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:flex-end}.subscription-status{display:flex;align-items:center;gap:.75rem;padding:.55rem .75rem;border:1px solid #c9dce9;border-radius:1rem;background:#f8fcff}.subscription-status>div{display:grid;gap:.1rem;min-width:145px}.subscription-status strong{color:#285a7c}.tier-expiry{color:#557086;font-size:.78rem}.tier-expiry.warning{color:#b5590a;font-weight:700}.subscription-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#14283f7a}.subscription-modal{width:min(100%,540px);max-height:min(92vh,760px);overflow:auto;padding:1.5rem;border-radius:1.25rem;background:#fff;box-shadow:0 1rem 3rem #14283f40}.subscription-modal.qr-modal{height:min(calc(100dvh - 1rem),760px);overflow:hidden;display:flex;flex-direction:column;padding:clamp(.65rem,2dvh,1rem)}.qr-modal .modal-heading{flex:0 0 auto}.qr-modal .qr-payment{min-height:0;flex:1;gap:clamp(.2rem,1dvh,.55rem)}.qr-frame-stage{position:relative;width:min(100%,210px);height:min(46dvh,300px);flex:0 1 auto;aspect-ratio:656 / 930;overflow:hidden}.qr-code-image,.qr-frame-image{position:absolute;display:block}.qr-code-image{z-index:1;width:88.4146%;height:auto;left:5.7927%;top:20.4301%;aspect-ratio:1;object-fit:contain}.qr-frame-image{z-index:2;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.qr-plan-name,.qr-order-code,.qr-modal .payment-countdown,.qr-modal .muted{margin:0}.qr-order-code{display:none}.qr-modal .secondary-action{flex:0 0 auto;padding:.45rem .75rem}.qr-modal .qr-order-code{font-size:.8rem}.modal-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.modal-heading h2{margin:.1rem 0 .6rem}.modal-close{border:0;background:transparent;color:#285a7c;font-size:1.8rem;cursor:pointer}.subscription-plans{display:grid;gap:.7rem;margin:1.25rem 0}.subscription-plan{display:flex;justify-content:space-between;gap:1rem;padding:1rem;border:2px solid #c9dce9;border-radius:.9rem;background:#fff;color:#285a7c;font:inherit;text-align:left;cursor:pointer}.subscription-plan.selected{border-color:#e8a900;background:#fff9e8}.subscription-plan span{font-weight:800;color:#b5590a}.promo-inline{display:grid;gap:.4rem;margin:1rem 0}.promo-inline label{color:#285a7c;font-weight:700}.promo-inline>div{display:flex;gap:.5rem}.promo-inline input{min-width:0;flex:1;border:1px solid #c9dce9;border-radius:.75rem;padding:.7rem;font:inherit;text-transform:uppercase}.modal-actions{display:flex;justify-content:flex-end;gap:.6rem}.qr-payment{display:grid;justify-items:center;gap:.6rem;text-align:center}.qr-payment img{width:min(100%,300px);aspect-ratio:1;object-fit:contain;border:1px solid #c9dce9;border-radius:.8rem}.qr-payment code{overflow-wrap:anywhere;color:#285a7c}.payment-countdown{color:#b5590a;font-weight:800}.payment-result{display:grid;gap:.8rem;justify-items:center;padding:2rem 0;text-align:center}.payment-result.success h3{color:#2e9d62}.dashboard-section{display:grid;gap:1rem;padding:1.1rem;border:1px solid #f2d58b;border-radius:1.25rem;background:#fffdf4c7}.dashboard-section h2{margin-bottom:0}.learning-path-section{color:#fff;background:#18324b}.learning-path-section h2{color:#e8a900}.subject-reopen{margin:1rem 0}.subject-backdrop,.activity-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:1rem;background:#153b5b7a}.subject-modal,.activity-modal{position:relative;width:min(100%,720px);max-height:min(92dvh,760px);overflow:auto;padding:1.5rem;border-radius:1.5rem;background:#fff;color:#285a7c;text-align:center;box-shadow:0 1rem 3rem #14283f40}.subject-modal h2,.activity-modal h2{margin-top:0}.subject-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-top:1.2rem}.subject-card{min-height:10rem;display:grid;place-items:center;align-content:center;gap:.35rem;border:0;border-radius:1.25rem;padding:1rem;color:#285a7c;font:inherit;cursor:pointer}.subject-card span{font-size:3rem}.subject-card strong{font-size:1.15rem}.subject-card small,.subject-card em{font-size:.8rem;font-style:normal}.subject-card.english{background:#dff4ff;box-shadow:inset 0 -5px #78c6e5}.subject-card.coming{cursor:not-allowed;opacity:.72;background:#f1f3f5;box-shadow:inset 0 -5px #b8c1c8}.subject-card.coming em{color:#b5590a;font-weight:800}.activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.activity-card{display:grid;gap:.25rem;align-content:center;min-height:5rem;border:2px solid #c9dce9;border-radius:1rem;padding:.75rem;color:#285a7c;background:#f8fcff;font:inherit;text-align:center;text-decoration:none;cursor:pointer}.activity-card span{font-size:1.8rem}.activity-card small{color:#6c8194}.activity-card.disabled{cursor:not-allowed;opacity:.55}.activity-card-shadowing{border-color:#e8a900;background:#fff9e8}.free-practice-section{margin-top:1.5rem}.free-practice-section h2{margin-bottom:0}.free-practice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-toast{position:fixed;left:50%;bottom:1.5rem;z-index:50;max-width:min(90vw,28rem);transform:translate(-50%);padding:.8rem 1rem;border-radius:999px;color:#fff;background:#285a7c;box-shadow:0 .5rem 1rem #14283f33;text-align:center;font-weight:700}.qr-frame-stage{aspect-ratio:656 / 931}.qr-frame-stage .qr-code-image{z-index:3;width:94.2073%;left:2.8963%;top:16.8647%}.dashboard-stats,.dashboard-selects{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.dashboard-stats div{display:grid;gap:.25rem;padding:1rem;border-radius:1rem;background:#eef8ff}.dashboard-stats strong{color:#285a7c;font-size:1.8rem}.dashboard-stats span{color:#6c8194;font-size:.9rem}.dashboard-selects{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-selects label{display:grid;gap:.4rem;color:#285a7c;font-weight:700}.dashboard-selects select{width:100%;min-width:0;min-height:3rem;border:2px solid #f2d58b;border-radius:1rem;padding:.75rem;background:#fff;font:inherit}.dashboard-actions{display:flex;justify-content:center}.dashboard-actions .primary-action{width:100%;min-height:3.25rem;border-radius:999px;box-shadow:0 .35rem .7rem #be800038}.dashboard-modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:1rem;background:#153b5b7a}.dashboard-modal{position:relative;width:min(100%,34rem);max-height:min(92dvh,720px);overflow:auto;padding:1.5rem;border-radius:1.5rem;color:#285a7c;background:#fff;box-shadow:0 1rem 3rem #14283f40}.dashboard-modal h2{margin-top:0}.dashboard-modal h3{margin:1.25rem 0 .5rem}.progress-preview{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-form{display:grid;gap:1rem}.profile-form label{display:grid;gap:.4rem;color:#285a7c;font-weight:700}.profile-form input,.profile-form select{width:100%;min-height:3rem;border:2px solid #f2d58b;border-radius:1rem;padding:.75rem 1rem;background:#fff;color:#18324b;font:inherit}.avatar-picker{min-width:0;margin:0;padding:.85rem;border:2px solid #f2d58b;border-radius:1rem}.avatar-picker legend{padding:0 .35rem;color:#285a7c;font-weight:700}.avatar-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.avatar-option{aspect-ratio:1;min-width:0;overflow:hidden;border:3px solid transparent;border-radius:1rem;padding:.2rem;background:#eef8ff;cursor:pointer}.avatar-option:hover,.avatar-option.selected{border-color:#e8a900;background:#fff9e8}.avatar-option.selected{box-shadow:0 0 0 2px #e8a9002e}.avatar-option img{width:100%;height:100%;object-fit:cover;border-radius:.75rem}.profile-save{width:100%;min-height:3.25rem;border-radius:999px}.profile-danger{display:grid;gap:.55rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #f2e1bf}.danger-link,.danger-action{justify-self:start;color:#c53d39;background:transparent;font:inherit;font-weight:800;cursor:pointer}.danger-action{padding:.7rem 1rem;border-radius:999px;background:#fff0ee}.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem}.dashboard-card-item{display:grid;gap:.35rem;padding:1rem;border-radius:1rem;background:#fff9e8}.dashboard-card-item span{color:#6c8194}.score-details{display:grid;gap:.75rem;margin-top:1rem}.recorded-audio-replay{display:grid;gap:.5rem;margin:1rem 0}.memory-card{max-width:760px}.memory-progress{height:.55rem;margin:.8rem 0;overflow:hidden;border-radius:999px;background:#e7f3fb}.memory-progress div{height:100%;border-radius:inherit;background:#e8a900;transition:width .2s ease}.memory-start{display:grid;gap:1rem;text-align:center}.memory-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:1rem 0}.memory-card-tile{aspect-ratio:1;min-width:0;padding:0;border:0;background:transparent;perspective:800px;cursor:pointer}.memory-card-tile:disabled{cursor:default}.memory-card-inner{position:relative;display:block;width:100%;height:100%;transition:transform .45s cubic-bezier(.2,.8,.3,1.3);transform-style:preserve-3d}.memory-card-tile.flipped .memory-card-inner,.memory-card-tile.matched .memory-card-inner{transform:rotateY(180deg)}.memory-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:1rem;backface-visibility:hidden;font-size:clamp(1.75rem,8vw,2.75rem)}.memory-back{color:#fff;background:linear-gradient(135deg,#18324b,#557086);border:3px solid #e8a900}.memory-front{background:#fff;border:3px solid #c9dce9;transform:rotateY(180deg)}.memory-card-tile.matched .memory-front{border-color:#2e9d62;background:#effaf3}.memory-feedback{text-align:center;font-weight:800}.memory-feedback.success{color:#2e9d62}.memory-feedback.error{color:#d9534f}.reflex-card{max-width:760px;text-align:center}.reflex-prompt{color:#557086;font-size:1.05rem}.reflex-stat{display:flex;justify-content:space-between;color:#285a7c;font-weight:800}.reflex-stat strong{color:#d28700}.reflex-progress{height:.55rem;margin:.8rem 0;overflow:hidden;border-radius:999px;background:#e7f3fb}.reflex-progress div{height:100%;border-radius:inherit;background:#e8a900;transition:width .2s ease}.reflex-stage{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.25rem 0;padding:1.25rem;border:4px solid #fff;border-radius:1.25rem;background:#bfe38c}.reflex-hole{position:relative;display:grid;place-items:center;aspect-ratio:1;border-radius:50%;background:#4a3320;box-shadow:inset 0 6px 10px #0007}.reflex-mole{width:78%;height:78%;border:4px solid #ffc93c;border-radius:50%;background:#fff;color:#153b5b;font-size:clamp(1.3rem,5vw,2rem);font-weight:800;cursor:pointer}.reflex-mole.good{border-color:#2e9d62}.reflex-mole.bad{border-color:#d9534f}.reflex-mole.timeout{border-color:#e8a900}.reflex-feedback{min-height:1.5rem;font-weight:800}.reflex-feedback.success{color:#2e9d62}.reflex-feedback.error{color:#d9534f}.reflex-complete{display:grid;gap:.75rem;justify-items:center}.reflex-card button:focus-visible{outline:3px solid #e8a900;outline-offset:3px}.clock-card{max-width:560px;text-align:center}.clock-bubble{color:#557086;font-size:1.05rem}.clock-progress{height:.55rem;margin:.8rem 0;overflow:hidden;border-radius:999px;background:#e7f3fb}.clock-progress div{height:100%;border-radius:inherit;background:#e8a900;transition:width .2s ease}.clock-start{display:grid;gap:1rem}.clock-face-wrap{display:flex;justify-content:center;margin:1rem 0 .4rem}.clock-hands-svg{width:240px;height:240px;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 16px rgba(20,40,63,.16))}.clock-face{fill:#fff;stroke:#c9dce9;stroke-width:5}.clock-tick{stroke:#adbaca;stroke-width:2;stroke-linecap:round}.clock-tick.major{stroke:#f0a500;stroke-width:3}.clock-number{font:800 16px Poppins,sans-serif;fill:#153b5b;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.clock-hour-hand{stroke:#153b5b;stroke-width:7;stroke-linecap:round;pointer-events:none}.clock-minute-hand{stroke:#f0a500;stroke-width:5;stroke-linecap:round;pointer-events:none}.clock-hit{stroke:transparent;stroke-width:26;stroke-linecap:round;cursor:grab}.clock-readout{display:inline-flex;padding:.4rem 1.1rem;border-radius:999px;background:#e7f3fb;color:#153b5b;font-size:1.2rem;font-weight:800}.clock-hint{color:#557086;font-size:.85rem}.clock-feedback{min-height:1.4rem;font-weight:800}.clock-feedback.success{color:#2e9d62}.clock-feedback.error{color:#d9534f}.clock-score{color:#285a7c;font-weight:800}.clock-complete{display:grid;gap:.75rem;justify-items:center}.clock-face-wrap.wrong-flash{animation:sunny-shake .4s ease}@keyframes sunny-shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@media(max-width:420px){.clock-hands-svg{width:210px;height:210px}}.memory-card-tile:focus-visible{outline:3px solid #e8a900;outline-offset:3px}@media(max-width:420px){.memory-grid{gap:8px}}@media(max-width:420px){.home-actions.authenticated{flex-direction:column;align-items:center}.home-actions.authenticated .home-cta{width:min(100%,18rem)}}.subject-modal-logo{display:block;width:auto;height:24px;margin:0 0 .5rem;object-fit:contain;object-position:left center}.shadowing-video-player{display:grid;gap:.5rem}.score-breakdown,.word-alignment,.coach-feedback{padding:.8rem;border-radius:.8rem;background:#fff}.score-breakdown h3,.word-alignment h3,.coach-feedback h3{margin:.1rem 0 .5rem;color:#285a7c}.word-alignment-list{display:flex;flex-wrap:wrap;gap:.4rem}.word-alignment-item{padding:.35rem .55rem;border-radius:.6rem;font-weight:700}.word-alignment-item.matched{color:#176b3a;background:#dff6e8}.word-alignment-item.missing,.word-alignment-item.substituted,.word-alignment-item.extra{color:#a33b32;background:#fff0ee}.word-alignment-item.active{outline:2px solid #e8a900}.focus-word-play{border:0;font:inherit;cursor:pointer}.focus-word{margin:.5rem 0;color:#d28700;font-weight:700}@media(max-width:640px){.app-header{padding-bottom:.75rem}.top-nav{display:flex;gap:.15rem}.nav-link{min-height:2.75rem;padding:.55rem .65rem;font-size:.75rem}.page-container{width:min(100% - 1.5rem,680px)}.card{margin:2rem auto 1rem;padding:2rem 1.5rem}.bottom-nav{display:none}.app-header{padding:.6rem .75rem .45rem}.top-nav{width:100%;justify-content:space-between;flex-wrap:nowrap}.brand-logo{width:7.5rem}.login-header .brand-logo{width:13.5rem;transform:translateY(5mm)}.shell-footer{display:none}.dashboard-heading{display:grid}.dashboard-heading-actions{justify-content:stretch}.subscription-status{justify-content:space-between}.subscription-status .primary-action{white-space:nowrap}.student-row{align-items:flex-start;flex-direction:column;gap:.75rem}.student-actions{width:100%}.student-actions a,.student-actions button{flex:1}.dashboard-stats,.dashboard-selects{grid-template-columns:1fr}.lesson-heading{display:grid}.lesson-controls{flex-direction:column-reverse}.feature-heading{display:grid}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-test-input-row,.ar-test-status{display:grid;grid-template-columns:1fr}}.scene-tap-room{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;margin:1rem 0;border:3px solid #c7d7e7;border-radius:16px;background:linear-gradient(180deg,#eaf3fb 0 62%,#e3d4b8 62%)}.scene-furniture{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px;border-radius:10px;color:#14283f8c;font-size:11px;font-weight:700}.scene-object{position:absolute;transform:translate(-50%,-50%);padding:6px;border:0;background:transparent;font-size:clamp(26px,7vw,38px);line-height:1;cursor:pointer;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}.scene-object:active{transform:translate(-50%,-50%) scale(.88)}.scene-object.found{opacity:.45;cursor:default;filter:none}.spelling-picture{font-size:56px;text-align:center;margin:1rem 0}.spelling-slots{display:flex;gap:8px;justify-content:center;margin:1rem 0 1.25rem}.spelling-slot{width:44px;height:50px;display:flex;align-items:center;justify-content:center;border-bottom:4px solid #c7d7e7;font-size:24px;font-weight:800}.spelling-slot.correct{border-color:#25a56a}.spelling-pool{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;min-height:60px;padding:10px;border-radius:16px;background:#e4edf6}.spelling-tile,.spelling-tile-placeholder{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:3px solid #f6c744;border-radius:12px;font-size:20px;font-weight:800}.spelling-tile{background:#fff;color:#14283f;cursor:pointer}.spelling-tile-placeholder{visibility:hidden}.direction-map{position:relative;width:260px;height:260px;margin:1rem auto}.map-road{position:absolute;background:#f2e8d2;border-radius:8px}.map-road.horizontal{left:0;right:0;top:50%;height:40px;transform:translateY(-50%)}.map-road.vertical{top:0;bottom:0;left:50%;width:40px;transform:translate(-50%)}.map-node{position:absolute;width:78px;height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:3px solid #c7d7e7;border-radius:16px;box-shadow:0 4px 8px #14283f1a;text-align:center;font-size:26px}.map-node small{font-size:9.5px;font-weight:700;line-height:1.15}.map-node.center{top:50%;left:50%;transform:translate(-50%,-50%);border-color:#f0b355;z-index:2}.map-node.up{top:0;left:50%;transform:translate(-50%)}.map-node.down{bottom:0;left:50%;transform:translate(-50%)}.map-node.left{left:0;top:50%;transform:translateY(-50%)}.map-node.right{right:0;top:50%;transform:translateY(-50%)}.map-flag{position:absolute;top:-10px;right:-8px;font-size:18px}.direction-pad{position:relative;width:220px;height:220px;margin:0 auto 1rem}.direction-choice{position:absolute;width:92px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:3px solid #c7d7e7;border-radius:16px;box-shadow:0 4px 8px #14283f14;cursor:pointer}.direction-choice span{font-size:30px}.direction-choice small{font-size:12px;font-weight:700}.direction-choice.up{top:0;left:50%;transform:translate(-50%)}.direction-choice.down{bottom:0;left:50%;transform:translate(-50%)}.direction-choice.left{left:0;top:50%;transform:translateY(-50%)}.direction-choice.right{right:0;top:50%;transform:translateY(-50%)}.direction-choice.correct{border-color:#2eaf6e;background:#f1fbf5}.direction-choice.wrong{border-color:#d9534f}.reading-passage{padding:20px;margin:1rem 0;border:3px solid #c7d7e7;border-left:6px solid #f6c744;border-radius:16px;text-align:left;line-height:1.7}.reading-passage h2{margin-top:0;font-size:15px}.reading-passage p{font-size:16px}.reading-progress{display:inline-block;padding:5px 16px;border-radius:999px;background:#e4edf6;font-weight:800}.reading-question{text-align:left;font-size:18px;line-height:1.5}.reading-options{display:flex;flex-direction:column;gap:10px}.reading-option{padding:13px 16px;border:3px solid #c7d7e7;border-radius:14px;background:#fff;text-align:left;font-size:15px;font-weight:600;cursor:pointer}.reading-option.correct{border-color:#2eaf6e;background:#f1fbf5}.reading-option.wrong{border-color:#d9534f}.shop-prompt{display:flex;align-items:center;gap:14px;padding:16px 18px;margin:1rem 0;border:3px solid #c7d7e7;border-radius:16px;text-align:left}.shop-emoji{font-size:46px}.shop-prompt strong{font-size:16px}.shop-price{display:inline-block;margin-top:4px;padding:2px 10px;border:2px dashed #f0b355;border-radius:8px;background:#fff3e0;color:#b5590a;font-weight:800}.shop-choices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1rem}.shop-choice{aspect-ratio:16 / 10;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid transparent;border-radius:16px;color:#fff;cursor:pointer}.shop-choice strong{font-size:24px}.shop-choice small{font-size:12px}.shop-choice.correct{border-color:#2eaf6e;box-shadow:0 0 0 4px #2eaf6e40}.shop-choice.wrong{border-color:#d9534f}.simon-board{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;padding:18px;margin:1rem 0;border-radius:16px;background:#e4edf6}.simon-tile{width:84px;height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:3px solid #c7d7e7;border-radius:12px;background:#fff;font-size:38px;cursor:pointer}.simon-tile small{font-size:12px;font-weight:700}.simon-tile.lit{background:linear-gradient(135deg,#f6c744,#f0a500);border-color:#f0a500;box-shadow:0 0 0 4px #ffc93c59}.simon-tile:disabled{opacity:1}.word-search-prompt{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:1rem 0;border:3px solid #c7d7e7;border-radius:16px;text-align:left}.word-search-prompt>span{font-size:42px}.word-search-prompt small{display:block;color:#75859a;text-transform:uppercase;font-size:11px}.word-search-prompt strong{display:inline-block;margin-top:3px;color:#b5590a;font-size:20px;letter-spacing:3px}.word-search-lines{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:1rem}.word-search-line{min-height:84px;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 6px;border:3px solid #c7d7e7;border-radius:16px;background:#fff;cursor:pointer}.word-search-line.column{flex-direction:column}.word-search-line span{width:28px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#e4edf6;font-weight:800}.word-search-line.correct{border-color:#2eaf6e;background:#f1fbf5}.word-search-line.wrong{border-color:#d9534f}@media(max-width:639px){.app-shell:has(.vocabulary-lesson-card) .top-nav{display:none}.vocabulary-lesson-card .lesson-image{width:min(48vw,180px);max-height:20vh;aspect-ratio:4 / 3;object-fit:cover}.vocabulary-lesson-card .vocabulary-record-button{position:absolute;right:50%;bottom:.55rem;z-index:2;width:4.4rem;height:4.4rem;margin:0;transform:translate(50%)}.vocabulary-lesson-card .transcript-button{width:2.25rem;height:2.25rem;min-height:0;border-radius:50%;padding:0;font-size:0}.vocabulary-lesson-card .transcript-button:before{content:"🌐";font-size:1rem}.vocabulary-lesson-card .lesson-controls>*{min-height:3.25rem}.vocabulary-lesson-card .lesson-controls>button:first-child{order:2}.vocabulary-lesson-card .lesson-controls>button:last-child{order:1}.vocabulary-lesson-card>.lesson-controls:last-child{position:absolute;top:26%;left:0;right:0;z-index:2;justify-content:space-between;pointer-events:none}.vocabulary-lesson-card>.lesson-controls:last-child button{pointer-events:auto;min-width:2.5rem;min-height:2.5rem;padding:0 .65rem;border-radius:50%;font-size:.72rem}}.vocab-word-block{display:grid;gap:.15rem;min-height:0;padding:.6rem;border-radius:1.25rem;background:#fff9e8;text-align:center}.vocabulary-lesson-card .vocab-word-block{margin-bottom:1.1rem}.vocab-word-block h2,.vocab-word-block p{margin:.05rem 0;line-height:1.08}.vocab-word-block h2{font-size:clamp(1.45rem,7vw,2rem)}.vocab-word-block .difficulty-row{margin:.05rem 0;line-height:1.05}.vocab-image-row{display:flex;align-items:center;justify-content:center;gap:.5rem}.vocab-image-wrap{position:relative;width:min(100%,15rem);aspect-ratio:4 / 3}.vocab-image-wrap .lesson-image{width:100%;height:100%;max-height:none;border-radius:1rem;object-fit:cover}.vocab-step-button{width:2.75rem;height:2.75rem;flex:0 0 2.75rem;border:0;border-radius:50%;color:#fff;background:#e8a900;font-size:1.8rem;line-height:1;cursor:pointer}.vocab-step-button:disabled{opacity:.35;cursor:not-allowed}.vocab-image-row>.drill-next-control{order:3}.vocab-image-wrap .transcript-button{position:absolute;top:.45rem;right:.45rem;z-index:2;width:2.25rem;height:2.25rem;border:0;border-radius:50%;padding:0;background:#fff;box-shadow:0 .2rem .45rem #14283f33;font-size:1rem;cursor:pointer}.vocab-playback-block{display:grid;gap:.7rem;padding:.85rem;border:1px solid #f2d58b;border-radius:1.25rem;background:#fffdf4}.vocabulary-lesson-card .vocab-playback-block{margin-top:.15rem}.vocabulary-mascots{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.vocabulary-mascots img{width:clamp(4rem,17vw,5.5rem);height:clamp(4rem,17vw,5.5rem);object-fit:contain}.vocab-speed{display:grid;justify-items:center;gap:.35rem;color:#557086;font-weight:800}.vocab-speed>div{display:flex;gap:.35rem}.vocab-speed button{min-height:2.4rem;border:1px solid #c9dce9;border-radius:.8rem;padding:.45rem .65rem;color:#557086;background:#f7fbfd;font:inherit;font-size:.78rem;font-weight:750}.vocab-speed button.active{color:#fff;border-color:#e8a900;background:#e8a900}.vocab-playback-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.vocab-playback-row>button{min-height:3.5rem;border:0;border-radius:1rem;padding:.65rem;font:inherit;font-weight:800}.vocab-playback-row .secondary-action{color:#fff;background:#e8a900}.vocabulary-lesson-card .lesson-heading>.lesson-action{position:fixed;top:.55rem;right:.7rem;z-index:80;width:2.5rem;min-height:2.5rem;padding:0;border-radius:50%;font-size:0}.vocabulary-lesson-card .lesson-heading>.lesson-action:before{content:"←";font-size:1.35rem;line-height:1}.vocabulary-lesson-card .lesson-heading>.lesson-action{color:#fff;background:#18324b;width:auto;min-width:4.5rem;padding:.55rem .9rem;border-radius:999px;font-size:.9rem}.vocabulary-lesson-card .lesson-heading>.lesson-action:before{content:none}.vocabulary-lesson-card .vocab-image-wrap{overflow:visible}.vocabulary-lesson-card .vocab-image-wrap .transcript-button{top:-.55rem;right:-.55rem;z-index:3}.vocab-record-block{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-height:8rem;padding:.45rem .7rem;border-radius:1.25rem;background:#f7f9fc;text-align:center}.vocab-record-block>p{order:1}.vocab-record-block>.vocabulary-record-button{order:2}.vocab-record-block>.recording-waveform{order:3}.vocab-record-block .record-button{width:4.8rem;height:4.8rem;margin:0}.vocab-record-block>p{margin:0;color:#6c8194;font-weight:700}.vocabulary-record-button{min-width:12rem;width:min(90%,18rem)!important;height:3.5rem!important;border-radius:1rem!important;font-size:1rem!important;font-weight:800}.vocabulary-lesson-card .vocabulary-record-button{position:static!important;inset:auto!important;transform:none!important;margin:0!important}.vocabulary-record-button{color:#fff;background:#18324b}.vocabulary-record-button.is-recording{background:#18324b}.recording-waveform{display:flex;align-items:center;justify-content:center;gap:.28rem;height:1.8rem}.recording-waveform span{display:block;width:.35rem;min-height:.35rem;border-radius:999px;background:#e9a900;transition:height .1s linear;animation:vocab-wave .55s ease-in-out infinite alternate}.recording-waveform span:nth-child(2){animation-delay:-.2s}.recording-waveform span:nth-child(3){animation-delay:-.4s}.recording-waveform span:nth-child(4){animation-delay:-.3s}.recording-waveform span:nth-child(5){animation-delay:-.1s}@keyframes vocab-wave{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}.vocabulary-lesson-card .lesson-image{object-fit:contain}.translation-modal-heading h2{color:#9aa7b2;font-size:.72em;font-weight:600}.translation-modal .translation-value{margin:.75rem 0 1rem;color:#18324b;font-size:1.5em;font-weight:800}@media(max-width:639px){.app-shell:has(.vocabulary-lesson-card) .page-container{height:calc(100dvh - 3.5rem)}.vocabulary-lesson-card{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden;padding:.35rem .55rem}.vocabulary-lesson-card>.lesson-heading,.vocabulary-lesson-card>.lesson-progress,.vocabulary-lesson-card>.vocabulary-progress{flex:0 0 auto}.vocabulary-lesson-card>.lesson-heading{max-height:3.1rem;overflow:hidden}.vocabulary-lesson-card .vocab-word-block{flex:0 0 38%;overflow:hidden}.vocabulary-lesson-card .vocab-playback-block{flex:0 0 32%;overflow:hidden;padding:.45rem}.vocabulary-lesson-card .vocab-record-block{position:relative;flex:1 1 30%;min-height:5.5rem;overflow:hidden}.vocabulary-lesson-card .vocab-image-wrap{width:min(100%,13rem)}.vocabulary-lesson-card .vocabulary-mascots img{width:clamp(5rem,23vw,6.2rem);height:clamp(5rem,23vw,6.2rem)}.vocabulary-lesson-card .vocab-playback-row>button{min-height:3.2rem;font-size:.76rem}.vocabulary-lesson-card .vocab-record-block .record-button{width:4.4rem;height:4.4rem}}.sentence-content-block{position:relative;display:flex;align-items:center;gap:.45rem;background:#fff9e8;border:1px solid #f4d77d;border-radius:1.2rem;padding:.85rem .55rem .55rem;min-height:0;text-align:center}.sentence-text-wrap{position:static;flex:1;min-width:0;padding:.55rem 1.7rem;border-radius:1rem;background:#fffdf5;overflow:visible}.sentence-text-wrap h2{margin:.1rem 0;font-size:clamp(1.35rem,6vw,2rem);line-height:1.12;overflow-wrap:anywhere}.sentence-text-wrap .lesson-ipa{margin:.2rem 0;color:#61778a;line-height:1.08}.sentence-text-wrap .transcript-button{position:absolute;top:-.7rem;right:.45rem;z-index:3;width:2.25rem;height:2.25rem;min-height:0;border:0;border-radius:50%;padding:0;background:#fff;box-shadow:0 .2rem .45rem #14283f33;font-size:0}.sentence-text-wrap .transcript-button:before{content:"🌐";font-size:1rem}@media(max-width:639px){.app-shell:has(.sentence-lesson-card) .top-nav{display:none}.app-shell:has(.sentence-lesson-card) .page-container{height:calc(100dvh - 3.5rem)}.sentence-lesson-card{display:flex;flex-direction:column;height:100%;overflow:hidden;padding:.35rem .55rem;gap:.3rem}.sentence-lesson-card>.lesson-heading{flex:0 0 auto;padding-right:3.8rem}.sentence-lesson-card>.lesson-heading .eyebrow{margin:.05rem 0}.sentence-lesson-card>.lesson-heading h1{font-size:clamp(1.15rem,5vw,1.6rem);line-height:1.05;margin:.1rem 0}.sentence-lesson-card>.lesson-progress{flex:0 0 auto;margin:0}.sentence-lesson-card>progress{flex:0 0 auto}.sentence-lesson-card>.legacy-link{display:none}}.learning-path-section .dashboard-selects label{color:#e8a900}.sentence-lesson-card .vocab-playback-block{display:flex;flex-direction:column;gap:.5rem;padding:.45rem .55rem;border:1px solid #f4d77d;border-radius:1.2rem;background:#fffdf5;min-height:0}.sentence-lesson-card .vocabulary-mascots{display:grid;grid-template-columns:clamp(5rem,23vw,6.2rem) minmax(9rem,1fr) clamp(5rem,23vw,6.2rem);align-items:center;gap:.75rem;min-height:0}.sentence-lesson-card .vocabulary-mascots img{width:clamp(5rem,23vw,6.2rem);height:clamp(5rem,23vw,6.2rem)}.sentence-lesson-card .vocab-speed{justify-self:center;width:100%}.sentence-content-block>.drill-next-control{order:3}.sentence-lesson-card .vocab-playback-row>button{font-size:clamp(.72rem,3.2vw,.98rem)}.sentence-lesson-card .vocab-record-block{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.35rem;min-height:0;padding:.35rem .6rem;border:1px solid #e6edf2}.sentence-lesson-card .drill-back-link,.vocabulary-lesson-card .drill-back-link{position:fixed;top:.55rem;right:.7rem;z-index:80;width:auto;min-width:4.5rem;min-height:2.5rem;padding:.55rem .9rem;border-radius:999px;color:#fff;background:#18324b;font-size:.9rem;text-align:center}.drill-back-link.is-disabled{opacity:.4;pointer-events:none;cursor:not-allowed}.speaking-result-actions{display:flex;justify-content:center;gap:.65rem}.speaking-result-actions>button{flex:1;min-height:3.25rem;padding:.65rem 1rem;border:0;border-radius:1rem;font:inherit;font-weight:800}.speaking-result-actions .secondary-action{color:#fff;background:#e8a900}.speaking-result-caption{margin:.7rem 0 0;color:#8293a1;font-size:.72rem;text-align:center}@media(max-width:639px){.sentence-lesson-card .vocab-word-block{flex:0 0 30%;overflow:hidden}.sentence-lesson-card .vocab-playback-block{flex:0 0 34%;overflow:hidden;padding:.45rem}.sentence-lesson-card .vocab-record-block{flex:1 1 36%;overflow:hidden}.sentence-lesson-card .vocab-playback-row>button{min-height:3.2rem;font-size:.76rem}.sentence-lesson-card .vocabulary-record-button{position:static!important;inset:auto!important;transform:none!important;margin:0!important}}.shadowing-score-track{display:flex;align-items:stretch;gap:.25rem;height:.7rem}.shadowing-score-track i{display:block;flex:1;border-radius:.2rem;background:#d9eadf}.shadowing-score-track i.lit{background:#22a55a;box-shadow:0 0 0 1px #22a55a1f}.shadowing-card{display:flex;flex-direction:column}.shadowing-card h1{margin:.1rem 0;font-size:clamp(1.2rem,4vw,1.65rem);line-height:1}.shadowing-card>.coin-badge{margin:.1rem 0}.shadowing-card>.muted{margin:.1rem 0}.shadowing-card>.shadowing-video-player{order:1}.shadowing-card>.transcript-panel{order:2;margin:.25rem 0 .35rem}.shadowing-card>.shadowing-record-instruction{order:3;margin:.2rem 0 .25rem;text-align:center}.shadowing-card>.shadowing-navigation{order:4;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:.75rem;margin:.25rem 0}.shadowing-card>.shadowing-navigation>*{flex:1;min-width:0}.shadowing-card>.shadowing-sentence-play{order:5;align-self:center;width:100%;max-width:14rem;margin-top:12px;background:#153b5b;color:#e8a900;font-size:inherit}.shadowing-card>.vocab-playback-block{order:6;margin-top:12px}.shadowing-card>.vocab-record-block{order:7}.shadowing-card>.vocabulary-result-backdrop{order:8}.shadowing-card .shadowing-video-controls{display:none}.shadowing-card .vocabulary-mascots{display:flex;justify-content:center}.shadowing-card .vocabulary-mascots img:first-child,.shadowing-card .vocab-speed,.shadowing-card .vocab-playback-row{display:none}.shadowing-card .vocabulary-mascots img:last-child{width:clamp(7rem,28vw,11rem);height:clamp(7rem,28vw,11rem)}.shadowing-card .vocab-playback-block{min-height:10rem}.shadowing-score-ring{margin:.25rem auto 1rem;background:conic-gradient(#38a169 var(--score-angle),#e7f3fb 0)}.pronunciation-feedback-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.feedback-speak-button{border:0;background:transparent;color:#153b5b;font-size:1.25rem;cursor:pointer}.pronunciation-feedback-body{display:flex;align-items:flex-start;gap:.75rem}.feedback-mascot{width:5.5rem;height:5.5rem;object-fit:contain;flex:0 0 auto}.feedback-mascot-speaking{animation:feedback-mascot-bounce .26s ease-in-out infinite alternate}@keyframes feedback-mascot-bounce{0%{transform:translateY(0)}to{transform:translateY(-2px)}}
