1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,369016,e=>{"use strict";var t=e.i(843476),a=e.i(277149),l=e.i(271645),s=e.i(199583),r=e.i(387951);function n({animated:e=!0,className:a=""}){return(0,t.jsxs)("div",{className:`demo-stage relative aspect-video w-full overflow-hidden rounded-2xl border-2 border-[var(--mo-line)] ${a}`,"aria-hidden":!0,children:[(0,t.jsx)("span",{className:"absolute -left-6 -top-8 h-24 w-24 rounded-full bg-sky-300/25 blur-2xl"}),(0,t.jsx)("span",{className:"absolute right-4 top-2 h-14 w-14 rounded-full bg-fuchsia-400/25 blur-2xl"}),(0,t.jsx)("span",{className:"absolute right-2 bottom-6 h-16 w-16 rounded-full bg-emerald-300/25 blur-2xl"}),(0,t.jsxs)("span",{className:"demo-figure absolute bottom-0 left-[26%] flex flex-col items-center",children:[(0,t.jsx)("span",{className:"demo-head h-7 w-7 rounded-full bg-white/25 shadow-[0_0_18px_rgba(255,255,255,0.12)]"}),(0,t.jsx)("span",{className:"-mt-1 h-11 w-[70px] rounded-t-[999px] bg-white/18"})]}),(0,t.jsx)("span",{className:"absolute inset-0 flex items-center justify-center",children:(0,t.jsxs)("span",{className:"relative inline-flex h-11 w-11 items-center justify-center",children:[(0,t.jsx)("span",{className:"demo-play-pulse absolute inset-0 rounded-full bg-emerald-400/60"}),(0,t.jsx)("span",{className:"demo-play-bob inline-flex h-11 w-11 items-center justify-center rounded-full bg-emerald-500 shadow-[0_6px_16px_-4px_rgba(16,185,129,0.6)]",children:(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"ml-0.5 h-5 w-5 fill-white",children:(0,t.jsx)("path",{d:"M8 5v14l11-7z"})})})]})}),(0,t.jsx)("span",{className:"absolute inset-x-3 bottom-3 h-1.5 overflow-hidden rounded-full bg-white/25",children:(0,t.jsx)("span",{className:`block h-full rounded-full bg-[var(--accent-primary)] ${e?"demo-progress":""}`,style:e?void 0:{width:"62%"}})})]})}let i=[.35,.7,1,.55,.85,.45,.75,.3];function o({sentence:e,hint:a,scoreLabel:l}){let s=e.split(/\s+/);return(0,t.jsxs)("div",{className:"flex h-full flex-col gap-3",children:[(0,t.jsx)(n,{}),(0,t.jsx)("div",{className:"demo-tint-amber rounded-2xl border-2 border-[rgba(255,201,60,0.45)] px-3 py-2.5",children:(0,t.jsx)("p",{className:"text-[13px] font-semibold leading-relaxed text-txt-primary sm:text-sm",children:s.map((e,a)=>(0,t.jsx)("span",{className:"demo-word mr-1 inline-block",style:{animationDelay:`${.32*a}s`},children:e},`${e}-${a}`))})}),(0,t.jsxs)("div",{className:"mt-auto flex items-center gap-3",children:[(0,t.jsx)("span",{className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-[var(--accent-primary)] text-white shadow-[0_3px_0_var(--accent-primary-dark)]",children:(0,t.jsx)(r.Mic,{size:16})}),(0,t.jsx)("span",{className:"flex h-8 flex-1 items-end gap-[3px]","aria-hidden":!0,children:i.map((e,a)=>(0,t.jsx)("span",{className:"demo-bar w-full rounded-full bg-sky-500/70",style:{height:`${100*e}%`,animationDelay:`${.08*a}s`}},a))}),(0,t.jsxs)("span",{className:"demo-pop inline-flex shrink-0 items-center gap-1 rounded-full border border-emerald-500/30 bg-emerald-500/10 px-2.5 py-1 text-[11px] font-extrabold text-emerald-600",children:[l," 92%"]})]}),(0,t.jsx)("p",{className:"text-center text-[12px] font-medium text-txt-muted",children:a})]})}var d=e.i(643531),c=e.i(905257);let x=[1,3,5];function m({sentence:e,hint:a,listenLabel:l}){let s=e.split(/\s+/),r=x[x.length-1];return(0,t.jsxs)("div",{className:"flex h-full flex-col gap-3",children:[(0,t.jsx)(n,{className:"max-h-[132px]"}),(0,t.jsxs)("div",{className:"demo-tint-blue flex items-center gap-2 rounded-full border-2 border-sky-400/50 px-3 py-1.5 text-[11px] font-extrabold text-[var(--accent-primary)]",children:[(0,t.jsx)(c.Headphones,{size:13}),l,(0,t.jsx)("span",{"aria-hidden":!0,className:"ml-auto flex items-end gap-[2px] h-3",children:[0,1,2,3].map(e=>(0,t.jsx)("span",{className:"demo-eq w-[2px] rounded-full bg-[var(--accent-primary)]",style:{height:"100%",animationDelay:`${.13*e}s`}},e))})]}),(0,t.jsx)("div",{className:"demo-tint-mint flex flex-1 items-center rounded-2xl border-2 border-emerald-500/30 px-3 py-3",children:(0,t.jsx)("p",{className:"flex flex-wrap items-center gap-x-1.5 gap-y-2 text-[13px] font-semibold text-txt-primary sm:text-sm",children:s.map((e,a)=>{if(!x.includes(a))return(0,t.jsx)("span",{children:e},`${e}-${a}`);let l=a===r,s=x.indexOf(a);return(0,t.jsx)("span",{style:l?void 0:{animationDelay:`${.25+.55*s}s`},className:`inline-flex items-center rounded-lg border-2 px-1.5 py-0.5 ${l?"border-[var(--accent-primary)] bg-sky-500/10 text-[var(--accent-primary)]":"demo-fill border-emerald-500/40 bg-emerald-500/10 text-emerald-600"}`,children:l?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"demo-type",children:e}),(0,t.jsx)("span",{className:"demo-caret ml-px inline-block h-[1.05em] w-[2px] bg-[var(--accent-primary)]"})]}
1):(0,t.jsxs)(t.Fragment,{children:[e,(0,t.jsx)(d.Check,{size:12,className:"ml-1 shrink-0"})]})},`${e}-${a}`)})})}),(0,t.jsx)("p",{className:"text-center text-[12px] font-medium text-txt-muted",children:a})]})}var p=e.i(283086);function u({question:e,answer:a,followUp:l,hint:s,aiLabel:r}){return(0,t.jsxs)("div",{className:"flex h-full flex-col gap-3",children:[(0,t.jsxs)("div",{className:"demo-tint-violet flex items-center gap-2 rounded-full border-2 border-violet-500/30 px-3 py-1.5 text-[11px] font-extrabold text-violet-600",children:[(0,t.jsx)(p.Sparkles,{size:13}),r]}),(0,t.jsxs)("div",{className:"demo-tint-violet flex flex-1 flex-col gap-2.5 overflow-hidden rounded-2xl border-2 border-violet-500/25 p-3",children:[(0,t.jsx)("div",{className:"demo-bubble self-end max-w-[85%] rounded-2xl rounded-br-md bg-[var(--accent-primary)] px-3 py-2 text-[12.5px] font-semibold leading-snug text-white",children:e}),(0,t.jsx)("div",{className:"demo-bubble max-w-[90%] self-start rounded-2xl rounded-bl-md border-2 border-violet-500/25 bg-card px-3 py-2 text-[12.5px] font-medium leading-snug text-txt-primary",style:{animationDelay:"0.6s"},children:a}),(0,t.jsx)("div",{className:"demo-bubble self-end max-w-[85%] rounded-2xl rounded-br-md bg-[var(--accent-primary)] px-3 py-2 text-[12.5px] font-semibold leading-snug text-white",style:{animationDelay:"1.6s"},children:l}),(0,t.jsx)("div",{className:"demo-bubble flex w-fit items-center gap-1 self-start rounded-2xl rounded-bl-md border-2 border-violet-500/25 bg-card px-3 py-2.5",style:{animationDelay:"2.3s"},"aria-hidden":!0,children:[0,1,2].map(e=>(0,t.jsx)("span",{className:"demo-dot h-1.5 w-1.5 rounded-full bg-txt-muted",style:{animationDelay:`${.15*e}s`}},e))})]}),(0,t.jsx)("p",{className:"text-center text-[12px] font-medium text-txt-muted",children:s})]})}var h=e.i(726714),f=e.i(810980);function b({terms:e,term:a,prompt:l,meaning:s,distractors:r,hint:n,vocabLabel:i,savedLabel:o}){let c=[r[0],s,r[1]];return(0,t.jsxs)("div",{className:"flex h-full flex-col gap-2.5",children:[(0,t.jsxs)("div",{className:"demo-tint-violet flex items-center gap-2 rounded-full border-2 border-violet-500/30 px-3 py-1.5 text-[11px] font-extrabold text-violet-600",children:[(0,t.jsx)(f.BookOpen,{size:13}),i,(0,t.jsx)("span",{className:"ml-auto rounded-full bg-violet-500/15 px-1.5 py-0.5 text-[10px] tabular-nums",children:e.length})]}),(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:e.map((e,a)=>(0,t.jsx)("span",{style:{animationDelay:`${.2+.35*a}s`},className:"demo-fill inline-flex items-center gap-1 rounded-lg border-2 border-violet-500/35 bg-violet-500/10 px-1.5 py-0.5 text-[11.5px] font-bold text-violet-600",children:e},e))}),(0,t.jsxs)("div",{className:"demo-tint-violet flex flex-1 flex-col gap-2 rounded-2xl border-2 border-violet-500/25 p-3",children:[(0,t.jsx)("p",{className:"text-[10.5px] font-extrabold uppercase tracking-wider text-txt-muted",children:l}),(0,t.jsx)("p",{className:"text-[17px] font-extrabold leading-tight text-txt-primary sm:text-lg",children:a}),(0,t.jsx)("div",{className:"mt-auto flex flex-col gap-1.5",children:c.map(e=>{let a=e===s;return(0,t.jsxs)("div",{className:`flex items-center gap-2 rounded-xl border-2 px-2.5 py-1.5 text-[12px] font-semibold leading-snug ${a?"demo-pick text-emerald-600":"border-[var(--mo-line)] text-txt-secondary"}`,children:[e,a&&(0,t.jsx)(d.Check,{size:13,className:"demo-check ml-auto shrink-0"})]},e)})}),(0,t.jsxs)("div",{className:"demo-pop mx-auto mt-1 flex w-fit items-center gap-1 rounded-full bg-emerald-500/15 px-2 py-0.5 text-[10.5px] font-extrabold text-emerald-600",children:[(0,t.jsx)(h.BookmarkCheck,{size:12}),o]})]}),(0,t.jsx)("p",{className:"text-center text-[12px] font-medium text-txt-muted",children:n})]})}let g={shadowing:s.MODE_TAB_ACTIVE.shadowing,dictation:s.MODE_TAB_ACTIVE.dictation,chat:s.MODE_TAB_ACTIVE.aichat,vocab:s.MODE_TAB_ACTIVE.vocab},v=["shadowing","dictation","chat","vocab"],y="She drinks a cup of coffee every morning",j=["drinks","a cup of coffee","every morning"];function w(){let e=(0,a.useDictionary)(),r=e?.home||{},[n,i]=(0,l.useState)("shadowing"),[d,c]=(0,l.useState)(!1),[x,p]=(0,l.useState)(!0);(0,l.useEffect)(()=>
1{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(min-width: 1024px)"),t=()=>p(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,l.useEffect)(()=>{if(d||!x)return;let e=setInterval(()=>{i(e=>v[(v.indexOf(e)+1)%v.length])},5e3);return()=>clearInterval(e)},[d,x]);let h=(0,l.useCallback)(e=>{i(e)},[]),f={shadowing:r.demoTabShadowing||"Shadowing",dictation:r.demoTabDictation||"Dictation",chat:r.demoTabChat||"AI Chat",vocab:r.demoTabVocab||"Vocabulary"};return(0,t.jsxs)("div",{className:"demo-card mx-auto w-full max-w-[420px] rounded-[28px] border-2 border-[var(--mo-line)] p-3 shadow-[0_24px_50px_-30px_rgba(15,23,42,0.45)] sm:p-4",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),children:[(0,t.jsx)("div",{role:"tablist","aria-label":r.demoAriaLabel||"Feature preview",className:"mb-3 flex gap-1 rounded-full border-2 border-[var(--mo-line)] bg-card p-1",children:v.map(e=>{let a=e===n;return(0,t.jsx)("button",{type:"button",role:"tab","aria-selected":a,onClick:()=>h(e),className:`flex-1 whitespace-nowrap rounded-full px-2 py-1.5 text-[12px] font-extrabold transition-all sm:text-[13px] ${a?`hover:brightness-[1.03] active:translate-y-[2px] ${g[e]}`:s.TAB_IDLE}`,children:f[e]},e)})}),(0,t.jsxs)("div",{className:"h-[330px] text-left sm:h-[348px]",children:["shadowing"===n&&(0,t.jsx)(o,{sentence:y,hint:r.demoShadowingHint||"Repeat each sentence and get a pronunciation score.",scoreLabel:r.demoScoreLabel||"Pronunciation"}),"dictation"===n&&(0,t.jsx)(m,{sentence:y,hint:r.demoDictationHint||"Type what you hear, blank by blank.",listenLabel:r.demoListenLabel||"Listen and fill the blanks"}),"chat"===n&&(0,t.jsx)(u,{question:r.demoChatQuestion||"What does âgrab a coffeeâ mean?",answer:r.demoChatAnswer||"It means to get a coffee â casual, very common in everyday talk.",followUp:r.demoChatFollowUp||"Give me one more example, please!",hint:r.demoChatHint||"Ask AI anything about the lesson.",aiLabel:r.demoAiLabel||"AI tutor"}),"vocab"===n&&(0,t.jsx)(b,{terms:j,term:j[j.length-1],prompt:r.demoVocabPrompt||"Pick the meaning",meaning:r.demoVocabMeaning||"each day, when the day begins",distractors:[r.demoVocabWrong1||"once in a while",r.demoVocabWrong2||"late at night"],hint:r.demoVocabHint||"Save key words and drill them until they stick.",vocabLabel:r.demoVocabLabel||"Key words from this lesson",savedLabel:r.demoVocabSaved||"Added to your deck"})]},n)]})}var N=e.i(578488),k=e.i(664030);let S=[{position:"-top-5 -left-6",float:"demo-float-a",delay:"0s",tone:"border-sky-400/40 text-[var(--accent-primary)]",icon:(0,t.jsx)(c.Headphones,{size:14}),label:"B1"},{position:"-top-7 right-6",float:"demo-float-c",delay:"0.8s",tone:"border-violet-400/40 text-violet-600",icon:(0,t.jsx)(p.Sparkles,{size:14}),label:"AI"},{position:"top-1/3 -left-8",float:"demo-float-b",delay:"1.4s",tone:"border-emerald-400/40 text-emerald-600",icon:(0,t.jsx)(r.Mic,{size:14}),label:"92%"},{position:"-bottom-4 -right-6",float:"demo-float-a",delay:"2s",tone:"border-orange-400/40 text-orange-500",icon:(0,t.jsx)(N.Flame,{size:14,fill:"currentColor"}),label:"7"},{position:"-bottom-6 -left-10",float:"demo-float-c",delay:"2.6s",tone:"border-amber-400/50 text-amber-600",icon:(0,t.jsx)(k.Trophy,{size:14}),label:"+120 XP"}];function A(){return(0,t.jsx)("div",{className:"pointer-events-none absolute inset-0 z-10","aria-hidden":!0,children:S.map(e=>(0,t.jsxs)("span",{className:`${e.position} ${e.float} absolute inline-flex items-center gap-1.5 rounded-full border-2 bg-card px-2.5 py-1.5 text-[12px] font-extrabold shadow-[0_10px_22px_-14px_rgba(15,23,42,0.55)] ${e.tone}`,style:{animationDelay:e.delay},children:[e.icon,e.label]},e.label))})}function _(){return(0,t.jsxs)("div",{className:"mt-6 grid grid-cols-2 gap-2 sm:gap-3 max-w-[420px] mx-auto lg:mx-0",children:[(0,t.jsxs)("a",{href:"https://apps.apple.com/app/apple-store/id6763068329?pt=128815596&ct=homepage_hero&mt=8",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 sm:gap-2.5 px-2.5 sm:px-3 py-2.5 rounded-xl bg-[#1c1d22] text-white hover:-translate-y-0.5 transition-transform shadow-md min-w-0","aria-label":"Download on the App Store",children:[(0,t.jsx)("svg",{viewBox:"0 0 384 512",className:"w-5 h-5 sm:w-6 sm:h-6 fill-current shrink-0","aria-hidden":!0,
1children:(0,t.jsx)("path",{d:"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"})}),(0,t.jsxs)("span",{className:"text-left leading-tight whitespace-nowrap",children:[(0,t.jsx)("span",{className:"block text-[9px] uppercase tracking-wide opacity-80",children:"Download on the"}),(0,t.jsx)("span",{className:"block text-[13px] sm:text-[15px] font-bold -mt-0.5",children:"App Store"})]})]}),(0,t.jsxs)("a",{href:"https://play.google.com/store/apps/details?id=com.shadowingenglish.app&referrer=utm_source%3Dwebsite%26utm_medium%3Dhomepage_hero",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2 sm:gap-2.5 px-2.5 sm:px-3 py-2.5 rounded-xl bg-[#1c1d22] text-white hover:-translate-y-0.5 transition-transform shadow-md min-w-0","aria-label":"Get it on Google Play",children:[(0,t.jsx)("svg",{viewBox:"0 0 512 512",className:"w-5 h-5 sm:w-6 sm:h-6 fill-current shrink-0","aria-hidden":!0,children:(0,t.jsx)("path",{d:"M325.3 234.3L104.6 13l280.8 161.2-60.1 60.1zM47 0C34 6.8 25.3 19.2 25.3 35.3v441.3c0 16.1 8.7 28.5 21.7 35.3l256.6-256L47 0zm425.2 225.6l-58.9-34.1-65.7 64.5 65.7 64.5 60.1-34.1c18-14.3 18-46.5-1.2-60.8zM104.6 499l280.8-161.2-60.1-60.1L104.6 499z"})}),(0,t.jsxs)("span",{className:"text-left leading-tight whitespace-nowrap",children:[(0,t.jsx)("span",{className:"block text-[9px] uppercase tracking-wide opacity-80",children:"Get it on"}),(0,t.jsx)("span",{className:"block text-[13px] sm:text-[15px] font-bold -mt-0.5",children:"Google Play"})]})]})]})}function $(){let e=(0,a.useDictionary)().home||{},l=e.heroEyebrow||"Shadowing technique",s=e.heroTitlePre||"Speak English like ",r=e.heroTitleHighlight||"the videos",n=e.heroTitlePost||" you love.",i=e.subtitle||"Paste any video link, listen to native speakers and repeat sentence by sentence.";return(0,t.jsx)("section",{className:"relative z-[1] max-w-[1440px] mx-auto px-4 sm:px-6 pt-8 md:pt-12 pb-2",children:(0,t.jsxs)("div",{className:"mx-auto grid max-w-[1080px] items-center gap-10 lg:grid-cols-[minmax(0,560px)_minmax(0,400px)] lg:justify-center lg:gap-8",children:[(0,t.jsxs)("div",{className:"text-center lg:text-left",children:[(0,t.jsx)("p",{className:"text-[11px] sm:text-xs font-extrabold tracking-[0.16em] uppercase text-[var(--accent-primary)]",children:l}),(0,t.jsxs)("h1",{className:"mt-3 font-extrabold tracking-tight text-txt-primary text-[34px] leading-[1.05] sm:text-5xl md:text-[56px] md:leading-[1.03] text-balance mx-auto max-w-[16ch] lg:mx-0",children:[s,(0,t.jsx)("span",{className:"mo-underline whitespace-nowrap text-[var(--accent-primary)]",children:r}),n]}),(0,t.jsx)("p",{className:"mt-4 text-txt-secondary text-[15px] sm:text-base leading-relaxed mx-auto max-w-[52ch] lg:mx-0",children:i}),(0,t.jsx)(_,{})]}),(0,t.jsxs)("div",{className:"relative hidden lg:block",children:[(0,t.jsx)("span",{className:"demo-aura pointer-events-none absolute -inset-8","aria-hidden":!0}),(0,t.jsx)("div",{className:"relative",children:(0,t.jsx)(w,{})}),(0,t.jsx)(A,{})]})]})})}e.s(["default",()=>$],369016)},258294,e=>{"use strict";var t=e.i(843476),a=e.i(271645),l=e.i(522016),s=e.i(761236),r=e.i(535195);let n="px-3.5 py-1.5 rounded-full text-xs font-extrabold border-2 transition-all cursor-pointer outline-none";function i({levels:e,activeLevel:a,allLabel:l,onChange:s}){return(0,t.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,t.jsx)("button",{type:"button",onClick:()=>s("All"),className:`${n} ${"All"===a?"bg-[var(--accent-primary)] text-white border-[var(--accent-primary)] shadow-[0_2px_0_var(--accent-primary-dark)]":"bg-card border-[var(--mo-line)] text-txt-primary hover:border-[var(--accent-primary)]/45 hover:-translate-y-0.5"}`,children:l}),e.map(e=>{let l=a===e;return(0,t.jsx)("button",{type:"button",onClick:()=>s(e),className:`${n} ${l?"bg-accent-primary text-white border-accent-primary shadow-sm":"bg-glass border-border text-txt-primary hover:bg-glass-hover hover:border-accent-primary/40"}`,children:e},e)})]})}var o=e.i(373375),d=e.i(463059);function c({onPrev:e,onNext:a,className:l="",disabled:s=!1}
1){return(0,t.jsxs)("div",{className:`slider-controls hidden md:flex gap-2 shrink-0 ${l}`,children:[(0,t.jsx)("button",{type:"button",onClick:e,disabled:s,className:"slider-btn disabled:opacity-40 disabled:cursor-default","aria-label":"Scroll left",children:(0,t.jsx)(o.ChevronLeft,{size:20})}),(0,t.jsx)("button",{type:"button",onClick:a,disabled:s,className:"slider-btn disabled:opacity-40 disabled:cursor-default","aria-label":"Scroll right",children:(0,t.jsx)(d.ChevronRight,{size:20})})]})}var x=e.i(277149),m=e.i(905496),p=e.i(253434),u=e.i(532040),h=e.i(158561);let f=["A1","A2","B1","B2","C1","C2"];function b({langPrefix:e}){let n=(0,x.useDictionary)(),[o,d]=(0,a.useState)([]),[b,g]=(0,a.useState)(!0),[v,y]=(0,a.useState)(!1),[j,w]=(0,a.useState)(!1),[N,k]=(0,a.useState)("All"),[S,A]=(0,a.useState)(0),_=(0,a.useRef)(null);(0,a.useEffect)(()=>(0,h.subscribeUsedVideoIds)(e=>{"channel"===e&&A(e=>e+1)}),[]);let $=(0,a.useCallback)((e,t)=>{let a=[...e],l=t;for(let e=a.length-1;e>0;e--){let t=(l=1664525*l+0x3c6ef35f&0x7fffffff)%(e+1);[a[e],a[t]]=[a[t],a[e]]}return a},[]),C=(0,a.useCallback)(async(e="All")=>{try{let t=function(){try{let e=window.localStorage.getItem("shadowing_recent");if(!e)return[];let t=JSON.parse(e);if(!Array.isArray(t))return[];return t.map(e=>{if(!e||"object"!=typeof e)return null;let t=e.videoId;return"string"==typeof t&&/^[A-Za-z0-9_-]{6,20}$/.test(t)?t:null}).filter(e=>!!e).slice(0,10)}catch{return[]}}(),a=new URLSearchParams;"All"!==e&&a.set("level",e),t.length>0&&a.set("anchors",t.join(","));let l=a.toString(),s=l?`/api/recommend?${l}`:"/api/recommend",r=await fetch(s);if(r.ok){let e=await r.json(),t=!!e.personalized;if(w(t),Array.isArray(e.flat)){let a=e.flat;if(t)d(a);else{let e=new Date,t=1e4*e.getFullYear()+(e.getMonth()+1)*100+e.getDate(),l=a.filter(e=>e.isNewArrival),s=a.filter(e=>!e.isNewArrival),r=[...$(s,t)];l.forEach((e,t)=>{let a=Math.min(2+3*t,r.length);r.splice(a,0,e)}),d(r)}}else d([])}}catch(e){console.error(e)}finally{g(!1),y(!0)}},[$]);(0,a.useEffect)(()=>{g(!0),C(N)},[C,N]),(0,a.useEffect)(()=>{let e=()=>{g(!0),C(N)};return window.addEventListener(m.LEARNER_TAGS_CHANGED_EVENT,e),window.addEventListener("shadowing_recent_updated",e),()=>{window.removeEventListener(m.LEARNER_TAGS_CHANGED_EVENT,e),window.removeEventListener("shadowing_recent_updated",e)}},[C,N]);let L=(0,a.useCallback)(e=>{e!==N&&(k(e),g(!0),d([]))},[N]),E=(0,a.useMemo)(()=>{let e=(0,h.getUsedVideoIdSet)("channel");return 0===e.size?o:o.filter(t=>!e.has(t.videoId))},[o,S]);(0,a.useEffect)(()=>{let e=E.map(e=>e.videoId).filter(Boolean);(0,h.setUsedVideoIds)("popular",e),(0,u.setPopularTopIds)(e.slice(0,10))},[E]);let T=(n.player?.popular||"Popular").replace(/^ð¥\s*/,""),z=j?n.player?.recommendForYou||"Recommended for you":T,D=j?n.player?.recommendForYouSubtitle||"Picked from videos you've practised â pick up where you left off.":n.player?.popularSubtitle,I=j?"FOR YOU":"TRENDING";if(!v&&0===o.length)return(0,t.jsx)(p.default,{eyebrow:I,title:z,children:(0,t.jsx)(r.default,{})});if(!b&&0===E.length&&"All"===N)return null;let M=(0,t.jsxs)(l.default,{href:`${e}/practice`,className:"hidden md:inline-flex text-sm font-medium text-accent-primary hover:text-accent-primary-dark transition-colors",children:[n.player?.viewAllTopics||"View all topics"," â"]});return(0,t.jsxs)(p.default,{eyebrow:I,title:z,subtitle:D,action:M,underlineTitle:!0,children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-3",children:[(0,t.jsx)(i,{levels:f,activeLevel:N,allLabel:n.player?.all||"All",onChange:L}),(0,t.jsx)(c,{onPrev:()=>_.current?.scrollPrev(),onNext:()=>_.current?.scrollNext(),disabled:b||0===E.length})]}),b?(0,t.jsx)(r.default,{}):0===E.length?(0,t.jsx)("p",{className:"text-sm text-txt-secondary py-6 text-center",children:n.player?.noVideosForLevel||`No videos for ${N} yet.`}):(0,t.jsx)(s.default,{ref:_,title:"",videos:E,langPrefix:e,rows:2,showControls:!1}),(0,t.jsx)("div",{className:"md:hidden mt-4 flex justify-center",children:(0,t.jsxs)(l.default,{href:`${e}/practice`,className:"inline-flex items-center justify-center w-full px-5 py-3 rounded-full border border-accent-primary/25 bg-card text-sm font-semibold text-accent-primary hover:bg-glass-hover transition-colors",children:[n.player?.viewAllTopics||"View all topics"," â"]})})]})}e.s(["default",()=>b],258294)},486956,e=>{"use strict";var t=e.i(843476),a=e.i(271645),l=e.i(830058),s=e.i(522016),r=e.i(578488);let n=(0,e.i(475254).default)("circle-check-big",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);var i=e.i(25652),o=e.i(664030),d=e.i(217923),c=e.i(277149),x=e.i(44951);function m(){let{user:e,progress:m,loading:h}=(0,l.useAuth)(),f=(0,c.useDictionary)(),b=(0,x.useLangPrefix)(),[g,v]=(0,a.useState)(!1);if((0,a.useEffect)(()=>{try{v("1"===localStorage.getItem("sp_has_session"))}catch{v(!1)}},[]),h)return g?(0,t.jsx)(u,{}):null;if(!e)return null;let y=m.filter(e=>{let t=e.totalSentences||1;
1return e.completedSentences.length>=t}).length,j=m.length,w=0===j?0:Math.round(m.reduce((e,t)=>e+("number"==typeof t.percent?t.percent:Math.round(t.completedSentences.length/Math.max(1,t.totalSentences)*100)),0)/j),N=e.streak??0,k=e.level??1,S=e.levelProgress??0,A=f?.userStats?.level||"Level",_=f?.userStats?.completed||"Done",$=f?.userStats?.avgCompletion||"Avg",C=f?.userStats?.streak||"Streak",L=f?.userStats?.day||"d",E=f?.me?.navLabel||"My Progress";return(0,t.jsx)("div",{className:"w-full h-full",children:(0,t.jsxs)("div",{className:"mo-card h-full p-3 md:p-3.5 flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,t.jsx)("div",{className:"w-9 h-9 rounded-xl sp-gradient-bg flex items-center justify-center text-white font-extrabold text-sm shrink-0 shadow-[0_3px_0_var(--accent-primary-dark)]",children:e.username.charAt(0).toUpperCase()}),(0,t.jsx)("span",{className:"text-sm font-extrabold truncate text-txt-primary",children:e.username}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs font-extrabold text-[var(--mo-sun-d)] bg-[var(--mo-sun)]/20 px-2.5 py-1 rounded-full shrink-0",children:[(0,t.jsx)(r.Flame,{size:13,fill:"currentColor"}),N]}),(0,t.jsxs)(s.default,{href:`${b}/me`,"aria-label":E,title:E,className:"inline-flex items-center gap-1.5 shrink-0 px-2.5 py-1 rounded-full border border-accent-primary/25 bg-card text-xs font-bold text-accent-primary hover:bg-glass-hover transition-colors no-underline",children:[(0,t.jsx)(d.BarChart3,{size:13}),(0,t.jsx)("span",{className:"hidden sm:inline",children:E})]})]}),(0,t.jsxs)("div",{className:"flex-1 flex flex-col justify-center rounded-2xl border-2 border-[#f2e6c6] bg-gradient-to-br from-[#fdf5df] to-[#faedca] p-3 md:p-4",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 mb-2",children:[(0,t.jsxs)("span",{className:"text-sm font-extrabold text-txt-primary",children:[A," ",k]}),(0,t.jsxs)("span",{className:"text-[11px] md:text-xs font-bold text-txt-muted tabular-nums",children:[S,"% â ",A," ",k+1]})]}),(0,t.jsx)("div",{className:"h-2.5 bg-[var(--mo-track)] rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full mo-stripe rounded-full transition-all",style:{width:`${S}%`}})}),(0,t.jsxs)("div",{className:"grid grid-cols-4 gap-x-2 mt-3",children:[(0,t.jsx)(p,{icon:(0,t.jsx)(o.Trophy,{size:14,className:"text-indigo-500"}),value:String(k),label:A}),(0,t.jsx)(p,{icon:(0,t.jsx)(n,{size:14,className:"text-emerald-500"}),value:String(y),label:_}),(0,t.jsx)(p,{icon:(0,t.jsx)(i.TrendingUp,{size:14,className:"text-sky-500"}),value:`${w}%`,label:$}),(0,t.jsx)(p,{icon:(0,t.jsx)(r.Flame,{size:14,className:"text-orange-500",fill:"currentColor"}),value:`${N}${L}`,label:C})]})]})]})})}function p({icon:e,value:a,label:l}){return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center gap-0.5 py-0.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[e,(0,t.jsx)("span",{className:"text-base md:text-lg font-extrabold tabular-nums text-txt-primary",children:a})]}),(0,t.jsx)("span",{className:"text-[10px] md:text-[11px] font-bold text-txt-muted uppercase tracking-wide whitespace-nowrap",children:l})]})}function u(){return(0,t.jsx)("div",{className:"w-full h-full",children:(0,t.jsxs)("div",{className:"mo-card overflow-hidden h-full",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2.5 px-3 py-2.5 md:px-4 md:py-3",children:[(0,t.jsx)("div",{className:"skeleton-shimmer w-8 h-8 md:w-9 md:h-9 rounded-xl shrink-0"}),(0,t.jsx)("div",{className:"skeleton-shimmer w-20 h-3 rounded shrink-0"}),(0,t.jsx)("div",{className:"skeleton-shimmer w-12 h-3 rounded shrink-0"}),(0,t.jsx)("div",{className:"skeleton-shimmer flex-1 h-2.5 rounded-full"}),(0,t.jsx)("div",{className:"skeleton-shimmer w-8 h-3 rounded shrink-0"})]}),(0,t.jsx)("div",{className:"h-0.5 bg-[var(--mo-line)]"}),(0,t.jsx)("div",{className:"grid grid-cols-4 gap-x-2 md:gap-x-4 px-3 py-2.5 md:px-5 md:py-3",children:[0,1,2,3].map(e=>(0,t.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,t.jsx)("div",{className:"skeleton-shimmer w-12 h-5 rounded"}),(0,t.jsx)("div",{className:"skeleton-shimmer w-10 h-2 rounded"})]},e))})]})})}var h=e.i(618566),f=e.i(117697),b=e.i(559956),g=e.i(868298);function v(e){return!e.completed&&!!e.totalSentences&&!(e.totalSentences<=0)&&!!e.completedSe
1ntences&&0!==e.completedSentences.length&&e.completedSentences.length<e.totalSentences}function y(){let e=(0,c.useDictionary)(),{user:s,progress:r,loading:n}=(0,l.useAuth)(),i=(0,h.useRouter)(),o=(0,h.useParams)(),d=o?.lang||"en",x=d&&"en"!==d?`/${d}`:"",m=(0,a.useMemo)(()=>(function(e,t){if(!e?.length)return[];let a=new Set,l=[];for(let t of e)if(v(t)&&!a.has(t.videoId)&&(a.add(t.videoId),l.push(t),l.length>=3))break;return l})(r,0),[r]);if(n||!s||0===m.length)return null;let p=e?.continueLearning?.sectionTitle||"Videos you've saved to learn",u=e?.continueLearning?.continueBtn||"Continue",y=e?.continueLearning?.progress||"Progress";return(0,t.jsx)("div",{className:"w-full h-full",children:(0,t.jsxs)("div",{className:"mo-card overflow-hidden h-full flex flex-col",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 md:px-4 md:py-2.5 border-b-2 border-[var(--mo-line)]",children:[(0,t.jsx)(f.PlayCircle,{size:15,className:"text-[var(--accent-primary)] shrink-0"}),(0,t.jsx)("h3",{className:"text-[13px] md:text-sm font-extrabold text-txt-primary truncate",children:p})]}),(0,t.jsx)("ul",{className:"flex-1 grid grid-cols-3 gap-2 p-2",children:m.map((e,a)=>{let l=Math.min(100,Math.max(0,e.percent??Math.round(e.completedSentences.length/Math.max(1,e.totalSentences)*100))),s=e.videoTitle||e.videoId;return(0,t.jsx)("li",{className:"min-w-0",children:(0,t.jsxs)("button",{type:"button",onClick:()=>{var t,a;let l;return t=e.videoId,l=(a=e.videoTitle||null)?(0,b.generateSlug)(a,t):t,void i.push(`${x}/practice/${l}`)},"aria-label":`${u}: ${s}`,className:"group w-full h-full flex flex-col rounded-xl border-2 border-[var(--mo-line)] bg-[var(--bg-secondary)] hover:border-[var(--accent-primary)]/50 hover:bg-card hover:-translate-y-0.5 hover:shadow-sm transition-all overflow-hidden text-left",children:[(0,t.jsxs)("div",{className:"relative aspect-video bg-glass overflow-hidden",children:[(0,t.jsx)(g.default,{videoId:e.videoId,thumbnail:e.thumbnail,alt:"",loading:"lazy",className:"w-full h-full object-cover group-hover:scale-[1.04] transition-transform"}),(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-black/25 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,t.jsx)("span",{className:"inline-flex items-center justify-center w-8 h-8 rounded-full bg-white/90 shadow",children:(0,t.jsx)(f.PlayCircle,{size:18,className:"text-[var(--accent-primary)]"})})})]}),(0,t.jsxs)("div",{className:"p-2 flex flex-col gap-1.5 flex-1",children:[(0,t.jsx)("span",{className:"text-[11px] font-bold text-txt-primary leading-tight line-clamp-2 group-hover:text-[var(--accent-primary)] transition-colors",children:s}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsxs)("div",{className:"flex items-center gap-1","aria-label":`${y}: ${l}%`,children:[(0,t.jsx)("div",{className:"flex-1 h-1.5 bg-[var(--mo-track)] rounded-full overflow-hidden",children:(0,t.jsx)("div",{className:"h-full mo-stripe rounded-full transition-all",style:{width:`${l}%`}})}),(0,t.jsxs)("span",{className:"text-[9px] font-extrabold text-txt-muted tabular-nums shrink-0",children:[l,"%"]})]})]})]})},`${e.videoId}-${a}`)})})]})})}function j(){let{progress:e,user:s,loading:r}=(0,l.useAuth)(),n=(0,a.useMemo)(()=>!r&&!!s&&!!e?.some(v),[e,s,r]);return(0,t.jsxs)("div",{className:`w-full max-w-[1440px] mx-auto px-4 sm:px-6 pt-3 grid grid-cols-1 gap-4 items-stretch ${n?"md:grid-cols-2":"md:grid-cols-1"}`,children:[(0,t.jsx)(m,{}),n&&(0,t.jsx)(y,{})]})}e.s(["default",()=>j],486956)},143747,e=>{"use strict";var t=e.i(843476),a=e.i(522016),l=e.i(253434),s=e.i(761236),r=e.i(535195),n=e.i(277149),i=e.i(15660),o=e.i(379379),d=e.i(19836);function c({langPrefix:e}){let c=(0,n.useDictionary)(),x=c?.ytAccess,{blocked:m,ready:p}=(0,i.useYouTubeAccess)(),u=p&&m,{videos:h,loading:f}=(0,o.useSelfVideoSuggestions)({enabled:u,limit:20});return u&&(f||0!==h.length)?(0,t.jsxs)(l.default,{eyebrow:"AVAILABLE",title:x?.homeTitle||"Lessons that play in your region",action:(0,t.jsxs)(a.default,{href:`${e}/practice`,className:"hidden md:inline-flex text-sm font-medium text-accent-primary hover:text-accent-primary-dark transition-colors",children:[x?.browseAll||"See all lessons that play here"," â"]}),children:[(0,t.jsx)(d.default,{}),f?(0,t.jsx)(r.default,{}):(0,t.jsx)(s.default,{title:"",videos:h,langPrefix:e,rows:2})]}):null}e.s(["default",()=>c])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.