1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[58974],{7676:(e,t,a)=>{Promise.resolve().then(a.bind(a,58863))},58863:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>e$});var r=a(95155),s=a(12115),i=a(48173),n=a.n(i),o=a(54203),l=a(43226),d=a(35765),c=a(99271),m=a(24035),u=a(71898),x=a(42233),h=a(48407),p=a(30405),g=a(61891),v=a(2178),y=a(5565);function b(e){let{text:t}=e,a=["rgb(131, 179, 32)","rgb(47, 195, 106)","rgb(42, 169, 210)","rgb(4, 112, 202)","rgb(107, 10, 255)","rgb(183, 0, 218)","rgb(218, 0, 171)","rgb(230, 64, 92)","rgb(232, 98, 63)","rgb(249, 129, 47)"],[i,n]=s.useState(a),[o,l]=s.useState(0);return s.useEffect(()=>{let e=setInterval(()=>{n([...a].sort(()=>Math.random()-.5)),l(e=>e+1)},5e3);return()=>clearInterval(e)},[]),t.split("").map((e,t)=>(0,r.jsx)(v.P.span,{initial:{y:0},animate:{color:i[t%i.length],y:[0,-3,0],scale:[1,1.01,1],filter:["blur(0px)","blur(5px)","blur(0px)"],opacity:[1,.8,1]},transition:{duration:.5,delay:.05*t},className:"inline-block whitespace-pre font-sans tracking-tight",children:e},"".concat(e,"-").concat(o,"-").concat(t)))}var f=a(96644),j=a(46967),w=a(40886),N=a(11536),k=a(19507),z=a(37879);let S={hero:{titleLine1:"Master Your Musical Ear",titleLine2:"Become an",titleName:"Earonman",body:"Transform your musical skills with our cutting-edge ear training platform. From intervals to complex jazz harmonies, master the language of music through interactive exercises and real-time feedback.",avatarAlt:"Earonman Avatar",startExercises:"Start Exercises",startFree:"Start Free",viewPlans:"View Plans"},carousel:{regionLabel:"Earonman hero",slideMobile:"Mobile app",slideHero:"Master Your Musical Ear",showSlidePrefix:"Show "},parallax:{intervalTraining:"Interval Training",chordRecognition:"Chord Recognition",scaleMastery:"Scale Mastery",freePracticeMode:"Free Practice Mode",structuredLessons:"Structured Lessons",jazzVoicings:"Jazz Voicings",harmonicQuest:"Harmonic Quest",polychordist:"Polychordist"},practiceMode:{label:"Free Practice Mode",title:"No signup, no streaks, no pressure",body:"Just listen and identify. Four free modules - Intervals, Chords, Scales and Jazz Voicings - with infinite practice and no stats saved. Perfect for warm-ups, side practice, or trying Earonman before committing.",cta:"Explore Practice Mode"},founder:{label:"Founder's Story",title:"Built by a musician, for musicians",quote:"\"I wanted an app that trains ears the way musicians really need. As a pianist and Barry Harris prot\xe9g\xe9, I've spent years helping students develop their listening. But no app combined the step-by-step clarity beginners need with the depth serious jazz players crave. That's why I built Earonman.\"",initials:"TJ",name:"Tom\xe1Å¡ Jochmann",role:"Founder & Creator of Earonman"},featuresHeading:"Platform Features",features:{proBadge:"PRO",items:[{title:"Authentic Sound",description:"Every exercise plays a Petrof III grand recorded at Baracca Records. Eight instruments in all - Rhodes, strings, harp, guitar and more - so you train the timbre you actually play."},{title:"Learn With Dr. Earmond Sharp",description:"Lessons arrive as a conversation with Dr. Earmond Sharp, who explains the theory behind what you are hearing and asks you to prove it before moving on."},{title:"217 Levels, No Gaps",description:"One guided path from a perfect fifth to polychords, in eighteen sections. Each level introduces exactly one new thing, so you are never asked to hear something you were not taught."},{title:"Sing or Play Your Answer",description:"Open Mic listens through the microphone and hears the note. Sing it, or play it on the instrument in your hands - the surest proof you truly heard the interval, not just recognised it."},{title:"Ten Trainers, Five Dimensions",description:"Distance, Stack, Key, Motion and Outside. Intervals and chords through to guide tones, roman numerals, upper structures and polychords - each one a different way of listening."},{title:"Harmonic Quest",description:"Build chords note by note, in the spirit of the Barry Harris approach and other systems - the mode that teaches you the shape of harmony rather than
1its label."},{title:"Duels",description:"Challenge another musician to the same set of questions and see who hears better. Asynchronous, so neither of you has to be online at the same time."},{title:"Weekly Leagues",description:"Every week you are placed with musicians training at your pace. Finish near the top and you move up; a real ladder, not a vanity score."},{title:"Practice Without the Clock",description:"Practice Mode drops the lives, the timer and the XP so you can drill one troublesome interval as long as you like. Free on every account."},{title:"Earn Your Rewards",description:"Ear Coins come from training, not from your wallet. Spend them on instruments, streak freezes, XP boosts, and Timbres that re-skin the entire app."},{title:"Play, Don't Just Tap",description:"Connect a MIDI keyboard in the browser and answer by playing the voicing. Your fingers and ears learn the shape together."},{title:"On Your Phone Too",description:"Free apps for iOS and Android carry the same account and the same progress. Train on the bus, pick it up on the desktop."},{title:"For Teachers",description:"Earonman Studio assigns homework to a class and shows you who actually did it and what they struggle with. Live, for teachers and schools."},{title:"Free Account, Real Training",description:"52 levels and Practice Mode without paying anything - 3 exercises every 8 hours, enough for a daily habit. Pro removes the cooldown and opens the other 165 levels."}]},evolution:{label:"Evolution",title:"Always growing",body:"Earonman is not a static app â it's a living project that evolves with our community.",continuousUpdatesTitle:"Continuous Updates",continuousUpdatesBody:"New features, lessons, and challenges are added regularly based on community feedback and musical education research.",communityDrivenTitle:"Community-Driven",communityDrivenBody:"We build Earonman together with our community. Share your ideas and see them come to life.",recentUpdatesTitle:"Recent Updates",latestInPrefix:"Latest in v",featureTag:"Feature",viewAllUpdates:"View all updates"},testimonials:{title:"What musicians say",body:"Join thousands of musicians who have transformed their musical journey with Earonman.",items:[{quote:"Earonman completely transformed the way I approach ear training. It makes learning fun, and its clear, comprehensive lessons have really helped me grow my musical vocabulary.",name:"Tom Medek",designation:"Composer, keyboard player and music software developer"}
1,{quote:"The structured progression from basic intervals to complex jazz harmonies is brilliant. This is a game-changer for any serious musician.",name:"Tom Smetana",designation:"Rock 'n' Roll guitar player"},{quote:"Earonman is an amazing new tool for musicians of all levels who want to sharpen their ears at home or while travelling. It has been created by a gifted and deeply passionate pianist Tom\xe1Å¡, who is open to listen to any of your comments and will surely be expanding the already well-designed program with great material!",name:"ZdenÄk Tom\xe1nek",designation:"Saxophonist"}]},community:{title:"Join musicians worldwide",body:"Earonman isn't just an app â it's a community of passionate musicians helping each other grow.",discord:{title:"Discord Community",intro:"Join our active Discord server where you can:",bullets:["Share progress and practice tips","Request new features and lessons","Get direct support from the team","Connect with fellow musicians"],cta:"Join Discord Server"},instagram:{title:"Follow on Instagram",intro:"Stay updated with the latest from Earonman:",bullets:["Behind-the-scenes content","Music theory tips and insights","Updates and announcements","Community highlights"],cta:"Follow @earonman"},youtube:{title:"Subscribe on YouTube",intro:"Watch tutorials and learn with us:",bullets:["Ear training tutorials","Music theory lessons","Product demos and walkthroughs","Tips from expert musicians"],cta:"Subscribe to Channel"},facebook:{title:"Like on Facebook",intro:"Connect with our Facebook community:",bullets:["Latest news and updates","Community events","Share your musical journey","Engage with other musicians"],cta:"Visit Facebook Page"}},finalCta:{title:"Ready to transform your musical journey?",body:"Join our community of musicians and start developing your ear today. Experience the most comprehensive ear training platform available.",startExercises:"Start Exercises",createFreeAccount:"Create Free Account"},tiles:{proBadge:"PRO",historyEmpty:"History will appear here",answerPrefix:"Answer:",repeat:"Repeat",reveal:"Reveal",arpeggio:"Arpeggio",correct:"Correct!",intervals:{history1:"P5",history2:"M3 â P4",history3:"m6",answer:"Major 3rd",minorThirdLabel:"Minor 3rd",minorThirdShort:"m3",majorThirdLabel:"Major 3rd",majorThirdShort:"M3"},chords:{history1:"Maj",history2:"min â m7",history3:"Maj7",answer:"E minor 7th",majorLabel:"Major",majorShort:"Maj",minorLabel:"Minor",minorShort:"min",major7Label:"Major 7",major7Short:"Maj7",minor7Label:"Minor 7",minor7Short:"m7"},scales:{history1:"Major",history2:"Phryg â Dor",answer:"E Phrygian",majorLabel:"Major",majorShort:"Maj",dorianLabel:"Dorian",dorianShort:"Dor",phrygianLabel:"Phrygian",phrygianShort:"Phry",minorLabel:"Minor",minorShort:"min"},jazzVoicings:{title:"Jazz Voicing Practice",instructions:"Root shown below \xb7 select the remaining chord tones",harmonic:"Harmonic",melodic:"Melodic",feedback:"Em7 voicing"},harmonicQuest:{stepLabel:"Step 3 of 5",stepPercent:"60%",feedback:"Cmaj9 voicing \xb7 complete",clear:"Clear",show:"Show",check:"Check"},polychordist:{bannerTitle:"Jump to Next Section",bannerCount:"3/5",bannerNote:"Zero mistakes allowed! One wrong = test fails.",title:"Polychordist",feedback:"Dm / C \xb7 polychord"},lessons:{drSharpInitials:"DS",drSharpName:"Dr. Sharp",drSharpMessage:"Listen carefully. Can you identify the chord I'm about to play?",playAudio:"Play Audio",youName:"You",youInitials:"You",studentMessage:"Sounds like a major 7th!",continueButton:"Continue"},practiceArea:{title:"Practice Area",subtitle:"Choose an exercise type to begin",upsell:"Unlock the full Practice library",intervals:"Intervals",chords:"Chords",scales:"Scales",jazzVoicings:"Jazz Voicings",proModules:["Slashmaster","Functioneer","Harmonic Quest","Guido","Hybrid Lab","Polychordist"]},defaultTile:"Earonman"},mobileAnnouncement:{badge:"Now on iOS & Android",titleBefore:"Earonman is now on ",titleMobileWord:"mobile",body:"The full ear training experience - intervals, chords, scales, lessons, and progress - in your pocket. Train anywhere, anytime.",footnote:"Free to download \xb7 Built by a musician, for musicians",appIconAlt:"Earonman mobile app icon"},curriculum:{eyebrow:"Comprehensive Curriculum",title:"From intervals to jazz mastery",body:"A carefully crafted progression for musicians who want to take their musicianship to the next level",evolvingNote:"â¹ï¸ This curriculum is constantly evolving. New levels and exercise types are added regularly.",statFree:"Free Levels",statSubscription:"Subscription Levels",statTotal:"Total Levels",levelsWord:"levels",sampleHeading:"Sample exercises include:",unlockNote:"Unlock these advanced levels with a subscription",learnMorePrefix:"Learn more about ",ctaStartFree:"Start Free Levels",ctaViewPlans:"View Subscription Plans",ctaExplore:"Explore All Features",footBefore:"Begin with ",footAfter:" free levels ⢠Subscription required for advanced content",difficulty:{Beginner:"Beginner",Intermediate:"Intermediate",Advanced:"Advanced",Expert:"Expert"},categories:[{title:"Interval Training",description:"Build your foundation with comprehensive interval recognition"}
1,{title:"Chord Recognition",description:"Master triads, seventh chords, and their inversions"},{title:"Scale Mastery",description:"Explore modes, exotic scales, and harmonic relationships"},{title:"Jazz Voicings",description:"Professional chord voicings and sophisticated harmony"},{title:"Extended Harmony",description:"Add chords, modal extensions, and complex harmonies"},{title:"Functional Harmony & Mastery",description:"Slash chords, polychords, secondary dominants, and advanced progressions"}],previewLevels:[["Major and Minor Seconds","Perfect Fourths and Fifths","All Melodic Intervals","Compound Intervals"],["Major, Minor, Diminished & Augmented Triads","Modal Triads (Phrygian, Lydian, Sus2, Sus4)","All 7th Chord Types","Modal 7th Chord Variations"],["Church Modes (Dorian, Phrygian, Lydian, Mixolydian)","Melodic & Harmonic Minor Modes","Symmetric Scales & Bebop Scales"],["Closed Position & Shell Voicings","Drop 2, Drop 3 & So What Voicings","Quartal & Block Chords (Shearing Style)"],["Add Chords & 6 Chords","9th, 11th & 13th Chords","Cross-Octave Interval Recognition"],["Slash Chords & Hybrid Voicings","Polychords & Upper Structure Triads","Secondary Dominants & Chromatic Harmony","Advanced Progressions & Ultimate Mastery"]]},pro:{badge:"PRO Membership",title:"Take Your Ears to the Next Level",body:"Everything below is already built and waiting. Fourteen days free, then EUR 6.99 a month.",statTotal:"Total Levels",statExclusive:"PRO Exclusive",statTrial:"Day Free Trial",ctaStartTrial:"Start Free Trial",ctaTryFree:"Try 52 Free Levels First",footTrial:"14-day free trial",footCancel:"Cancel anytime",features:[{title:"No Cooldown",description:"Free is 3 exercises every 8 hours. Pro is as many as you want, whenever you want."},{title:"165 Pro Levels",description:"Modes, melodic and harmonic minor, extended chords, functional harmony, polychords."},{title:"Six Quest Modes",description:"Functioneer, Harmonic Quest, Guido, Hybrid Lab, Polychordist and Slashmaster."},{title:"Open Mic",description:"Sing your answer, or play it on your own instrument. The app hears the note."},{title:"All Eight Instruments",description:"Rhodes, strings, harp, electric guitar, flute, clarinet and French horn."},{title:"Every Interval and Chord",description:"Compound intervals, altered and extended chords, every mode - in Practice too."},{title:"Deep Analytics",description:"Per-trainer accuracy, response times and session breakdowns, not just a score."},{title:"Leagues With History",description:"Weekly promotion and relegation, and the full record of how you got there."},{title:"Unlimited Duels",description:"Challenge anyone to the same questions and settle it on accuracy."},{title:"MIDI Keyboard",description:"Answer voicing levels by playing them in the browser instead of tapping."},{title:"Ear Coins Go Further",description:"Instruments come free with Pro, so your coins buy Timbres and boosts instead."},{title:"Priority Support",description:"A real reply from the musician who builds this, not a ticket queue."}]}},P={en:S,cs:{hero:{titleLine1:"Ovl\xe1dni svůj hudebn\xed sluch",titleLine2:"AÅ¥ se z tebe stane",titleName:"Earonman",body:"PosuÅ svoje hudebn\xed schopnosti d\xe1l s modern\xed platformou pro tr\xe9nink sluchu. Od intervalů po složit\xe9 jazzov\xe9 harmonie - jazyk hudby se nauÄ\xedÅ¡ v interaktivn\xedch cviÄen\xedch s okamžitou zpÄtnou vazbou.",avatarAlt:"Avatar Earonmana",startExercises:"Spustit cviÄen\xed",startFree:"ZaÄ\xedt zdarma",viewPlans:"Zobrazit tarify"},carousel:{regionLabel:"\xdavodn\xed banner Earonmanu",slideMobile:"Mobiln\xed aplikace",slideHero:"Ovl\xe1dni svůj hudebn\xed sluch",showSlidePrefix:"Zobrazit sn\xedmek: "},parallax:{intervalTraining:"Tr\xe9nink intervalů",chordRecognition:"Rozpozn\xe1v\xe1n\xed akordů",scaleMastery:"Zvl\xe1dnut\xed stupnic",freePracticeMode:"ProcviÄov\xe1n\xed zdarma",structuredLessons:"Lekce krok za krokem",jazzVoicings:"Jazz Voicings",harmonicQuest:"Harmonic Quest",polychordist:"Polychordist"},practiceMode:{label:"ProcviÄov\xe1n\xed zdarma",title:"Bez registrace, bez s\xe9ri\xed, bez tlaku",body:"Jen poslouchej a urÄi, co slyÅ¡\xedÅ¡. ÄtyÅi moduly zdarma - Intervaly, Akordy, Stupnice a Jazz Voicings - s nekoneÄn\xfdm procviÄov\xe1n\xedm a bez ukl\xe1d\xe1n\xed statistik. Ide\xe1ln\xed na rozehÅ\xe1t\xed, na cviÄen\xed mimo lekce nebo na vyzkouÅ¡en\xed Earonmanu, než se rozhodneÅ¡.",cta:"Prozkoumat ProcviÄov\xe1n\xed"},founder:{label:"PÅ\xedbÄh zakladatele",title:"Od muzikanta pro muzikanty",quote:"âChtÄl jsem aplikaci, kter\xe1 tr\xe9nuje sluch tak, jak to muzikanti skuteÄnÄ potÅebuj\xed. Jako klav\xedrista a ž\xe1k Barryho Harrise jsem roky pom\xe1hal studentům rozv\xedjet poslech. Ale ž\xe1dn\xe1 aplikace nespojovala srozumitelnost krok za krokem, kterou potÅebuje zaÄ\xe1teÄn\xedk, s hloubkou, po jak\xe9 touž\xed každ\xfd, kdo to
1s jazzem mysl\xed v\xe1žnÄ. Proto jsem Earonman vytvoÅil.â",initials:"TJ",name:"Tom\xe1Å¡ Jochmann",role:"Zakladatel a autor Earonmanu"},featuresHeading:"Co vÅ¡echno Earonman um\xed",features:{proBadge:"PRO",items:[{title:"Opravdov\xfd zvuk",description:"V každ\xe9m cviÄen\xed hraje kÅ\xeddlo Petrof III nahran\xe9 ve studiu Baracca Records. Celkem osm n\xe1strojů - Rhodes, smyÄce, harfa, kytara a dalÅ¡\xed - abys tr\xe9noval na zvuku, kter\xfd s\xe1m hrajeÅ¡."},{title:"Lekce vede Dr. Earmond Sharp",description:"Lekce bÄž\xed jako chat: Dr. Earmond Sharp ti vysvÄtl\xed teorii za t\xedm, co slyÅ¡\xedÅ¡, a než tÄ pust\xed d\xe1l, nech\xe1 si to od tebe dok\xe1zat."},{title:"217 levelů, ž\xe1dn\xe9 d\xedry",description:"Jedna veden\xe1 cesta od Äist\xe9 kvinty po polyakordy, v osmn\xe1cti sekc\xedch. Každ\xfd level pÅid\xe1 pÅesnÄ jednu novou vÄc, takže tÄ nikdy neÄek\xe1 nic, co ses jeÅ¡tÄ neuÄil."},{title:"Zazp\xedvej nebo zahraj svou odpovÄÄ",description:"Open Mic poslouch\xe1 mikrofonem a pozn\xe1 tvůj t\xf3n. Zazp\xedvej ho, nebo ho zahraj na n\xe1stroj, kter\xfd m\xe1Å¡ po ruce - to je nejjistÄjÅ¡\xed důkaz, že jsi interval slyÅ¡el, a ne jen vybral z nab\xeddky."},{title:"Deset modulů, pÄt rozmÄrů",description:"Vzd\xe1lenost, Stavba, T\xf3nina, Pohyb a Outside. Od intervalů a akordů pÅes guide t\xf3ny a Å\xedmsk\xe9 Ä\xedslice až po upper structures a polyakordy - každ\xfd modul je jin\xfd způsob poslouch\xe1n\xed."},{title:"Harmonic Quest",description:"Skl\xe1dej akordy t\xf3n po t\xf3nu, v duchu pÅ\xedstupu Barryho Harrise i dalÅ¡\xedch syst\xe9mů - režim, kter\xfd tÄ nauÄ\xed tvar harmonie, ne jen jej\xed n\xe1zev."},{title:"Duely",description:"Vyzvi jin\xe9ho hudebn\xedka na stejnou sadu ot\xe1zek a uvid\xedÅ¡, kdo slyÅ¡\xed l\xedp. Hraje se na tahy, takže nikdo nemus\xed b\xfdt online ve stejnou chv\xedli."},{title:"T\xfddenn\xed ligy",description:"Každ\xfd t\xfdden tÄ zaÅad\xedme mezi hudebn\xedky, kteÅ\xed tr\xe9nuj\xed
1stejn\xfdm tempem jako ty. SkonÄi nahoÅe a postoup\xedÅ¡ - opravdov\xfd žebÅ\xedÄek, ne Ä\xedslo pro par\xe1du."},{title:"ProcviÄov\xe1n\xed bez stopek",description:"ProcviÄov\xe1n\xed nem\xe1 životy, stopky ani XP, takže si jeden interval, kter\xfd ti poÅ\xe1d nejde, můžeÅ¡ pilovat, jak dlouho chceÅ¡. Zdarma na každ\xe9m \xfaÄtu."},{title:"OdmÄny si vytr\xe9nujeÅ¡",description:"EarCoins jsou z tr\xe9ninku, ne z penÄženky. Utr\xe1cej je za n\xe1stroje, zmrazen\xed s\xe9rie, XP Boosty a Timbres, kter\xe9 pÅebarv\xed celou aplikaci."},{title:"Hraj, neÅ¥ukej",description:"PÅipoj v prohl\xedžeÄi MIDI kl\xe1vesnici a odpovÄz t\xedm, že voicing zahrajeÅ¡. Prsty a uÅ¡i se tvar nauÄ\xed spolu."},{title:"I v telefonu",description:"Aplikace pro iOS a Android jsou zdarma a m\xe1Å¡ v nich stejn\xfd \xfaÄet i stejn\xfd postup. Tr\xe9nuj v autobuse a nav\xe1ž na poÄ\xedtaÄi."},{title:"Pro uÄitele",description:"Earonman Studio zad\xe1 tÅ\xeddÄ \xfakol a uk\xe1že, kdo ho opravdu udÄlal a co komu nejde. Už funguje - pro uÄitele i pro Å¡koly."},{title:"\xdaÄet zdarma, poctiv\xfd tr\xe9nink",description:"52 levelů a ProcviÄov\xe1n\xed zadarmo - 3 cviÄen\xed každ\xfdch 8 hodin, což na denn\xed n\xe1vyk staÄ\xed. PÅedplatn\xe9 Pro Äek\xe1n\xed ruÅ¡\xed a otev\xedr\xe1 zbyl\xfdch 165 levelů."}]},evolution:{label:"V\xfdvoj",title:"PoÅ\xe1d roste",body:"Earonman nen\xed aplikace, kter\xe1 zůstala st\xe1t - je to živ\xfd projekt, kter\xfd se vyv\xedj\xed s naÅ¡\xed komunitou.",continuousUpdatesTitle:"PrůbÄžn\xe9 aktualizace",continuousUpdatesBody:"Nov\xe9 funkce, lekce a v\xfdzvy pÅib\xfdvaj\xed pravidelnÄ, podle zpÄtn\xe9 vazby od komunity a v\xfdzkumu hudebn\xed pedagogiky.",communityDrivenTitle:"TvoÅ\xed to komunita",communityDrivenBody:"Earonman tvoÅ\xedme spoleÄnÄ s komunitou. NapiÅ¡ svůj n\xe1pad a uvid\xedÅ¡, jak ožije.",recentUpdatesTitle:"Co je nov\xe9ho",latestInPrefix:"Naposledy ve verzi ",featureTag:"Novinka",viewAllUpdates:"Zobrazit vÅ¡echny novinky"},testimonials:{title:"Co Å\xedkaj\xed hudebn\xedci",body:"PÅidej se k tis\xedcům hudebn\xedků, kter\xfdm Earonman zmÄnil hudebn\xed cestu.",items:[{quote:"Earonman completely transformed the way I approach ear training. It makes learning fun, and its clear, comprehensive lessons have really helped me grow my musical vocabulary.",name:"Tom Medek",designation:"Skladatel, kl\xe1vesista a v\xfdvoj\xe1Å hudebn\xedho softwaru"}
1,{quote:"The structured progression from basic intervals to complex jazz harmonies is brilliant. This is a game-changer for any serious musician.",name:"Tom Smetana",designation:"Rock'n'rollov\xfd kytarista"},{quote:"Earonman is an amazing new tool for musicians of all levels who want to sharpen their ears at home or while travelling. It has been created by a gifted and deeply passionate pianist Tom\xe1Å¡, who is open to listen to any of your comments and will surely be expanding the already well-designed program with great material!",name:"ZdenÄk Tom\xe1nek",designation:"Saxofonista"}]},community:{title:"PÅidej se k hudebn\xedkům z cel\xe9ho svÄta",body:"Earonman nen\xed jen aplikace - je to komunita zap\xe1len\xfdch hudebn\xedků, kteÅ\xed si navz\xe1jem pom\xe1haj\xed růst.",discord:{title:"Komunita na Discordu",intro:"PÅidej se na n\xe1Å¡ živ\xfd Discord server, kde můžeÅ¡:",bullets:["sd\xedlet svůj postup a tipy na tr\xe9nink","Å\xedct si o nov\xe9 funkce a lekce","dostat podporu pÅ\xedmo od t\xfdmu","poznat dalÅ¡\xed hudebn\xedky"],cta:"PÅidat se na Discord"},instagram:{title:"Sleduj n\xe1s na Instagramu",intro:"MÄj pÅehled o tom, co je v Earonmanu nov\xe9ho:",bullets:["pohled do z\xe1kulis\xed","tipy a postÅehy z hudebn\xed teorie","novinky a ozn\xe1men\xed","to nejlepÅ¡\xed z komunity"],cta:"Sledovat @earonman"},youtube:{title:"Odeb\xedrej na YouTube",intro:"D\xedvej se na n\xe1vody a uÄ se s n\xe1mi:",bullets:["n\xe1vody na tr\xe9nink sluchu","lekce hudebn\xed teorie","uk\xe1zky a průvodce aplikac\xed","tipy od zkuÅ¡en\xfdch hudebn\xedků"],cta:"Odeb\xedrat kan\xe1l"},facebook:{title:"Dej like na Facebooku",intro:"Na Facebooku můžeÅ¡:",bullets:["Ä\xedst Äerstv\xe9 novinky","sledovat akce komunity","sd\xedlet svou hudebn\xed cestu","bavit se s dalÅ¡\xedmi hudebn\xedky"],cta:"OtevÅ\xedt str\xe1nku na Facebooku"}},finalCta:{title:"PÅipraven zmÄnit svou hudebn\xed cestu?",body:"PÅidej se k naÅ¡\xed komunitÄ hudebn\xedků a zaÄni na sv\xe9m sluchu pracovat jeÅ¡tÄ dnes. VyzkouÅ¡ej nejucelenÄjÅ¡\xed platformu pro tr\xe9nink sluchu, jak\xe1 je k dispozici.",startExercises:"Spustit cviÄen\xed",createFreeAccount:"Založit \xfaÄet zdarma"},tiles:{proBadge:"PRO",historyEmpty:"Tady se objev\xed historie",answerPrefix:"OdpovÄÄ:",repeat:"Poslechnout",reveal:"Odhalit",arpeggio:"Rozložen\xfd",correct:"Spr\xe1vnÄ!",intervals:{history1:"P5",history2:"M3 â P4",history3:"m6",answer:"Velk\xe1 tercie",minorThirdLabel:"Mal\xe1 tercie",minorThirdShort:"m3",majorThirdLabel:"Velk\xe1 tercie",majorThirdShort:"M3"},chords:{history1:"Maj",history2:"min â m7",history3:"Maj7",answer:"E Moll7",majorLabel:"Durov\xfd",majorShort:"Maj",minorLabel:"Mollov\xfd",minorShort:"min",major7Label:"Maj7",major7Short:"Maj7",minor7Label:"Moll7",minor7Short:"m7"},scales:{history1:"Dur",history2:"Phryg â Dor",answer:"E Frygick\xe1",majorLabel:"Dur",majorShort:"Dur",dorianLabel:"D\xf3rsk\xe1",dorianShort:"Dor",phrygianLabel:"Frygick\xe1",phrygianShort:"Phry",minorLabel:"Moll",minorShort:"Moll"},jazzVoicings:{title:"Jazz Voicings - procviÄov\xe1n\xed",instructions:"Z\xe1kladn\xed t\xf3n vid\xedÅ¡ dole \xb7 vyber zbyl\xe9 t\xf3ny akordu",harmonic:"Harmonicky",melodic:"Melodicky",feedback:"Em7 voicing"},harmonicQuest:{stepLabel:"Krok 3 z 5",stepPercent:"60 %",feedback:"Cmaj9 voicing \xb7 hotovo",clear:"Vymazat",show:"Zobrazit",check:"Zkontrolovat"},polychordist:{bannerTitle:"PÅeskoÄit do dalÅ¡\xed sekce",bannerCount:"3/5",bannerNote:"Ž\xe1dn\xe1 chyba! Jedna Å¡patn\xe1 odpovÄÄ zkouÅ¡ku ukonÄ\xed.",title:"Polychordist",feedback:"Dm / C \xb7 polyakord"},lessons:{drSharpInitials:"DS",drSharpName:"Dr. Sharp",drSharpMessage:"Poslouchej pozornÄ. Pozn\xe1Å¡ akord, kter\xfd teÄ zahraju?",playAudio:"PÅehr\xe1t zvuk",youName:"Ty",youInitials:"Ty",studentMessage:"Zn\xed to jako Maj7!",continueButton:"PokraÄovat"},practiceArea:{title:"ProcviÄov\xe1n\xed",subtitle:"Vyber si typ cviÄen\xed a zaÄni",upsell:"Odemkni celou knihovnu procviÄov\xe1n\xed",intervals:"Intervaly",chords:"Akordy",scales:"Stupnice",jazzVoicings:"Jazz Voicings",proModules:["
1Slashmaster","Functioneer","Harmonic Quest","Guido","Hybrid Lab","Polychordist"]},defaultTile:"Earonman"},mobileAnnouncement:{badge:"NovÄ na iOS a Androidu",titleBefore:"Earonman je teÄ i v ",titleMobileWord:"mobilu",body:"Cel\xfd tr\xe9nink sluchu - intervaly, akordy, stupnice, lekce i postup - v kapse. Tr\xe9nuj kdekoli a kdykoli.",footnote:"Zdarma ke stažen\xed \xb7 Od muzikanta pro muzikanty",appIconAlt:"Ikona mobiln\xed aplikace Earonman"},curriculum:{eyebrow:"Ucelen\xfd pl\xe1n",title:"Od intervalů k jazzov\xe9 harmonii",body:"PromyÅ¡len\xe1 cesta pro muzikanty, kteÅ\xed chtÄj\xed posunout sv\xe9 hran\xed o \xfaroveÅ v\xfdÅ¡",evolvingNote:"â¹ï¸ Pl\xe1n se poÅ\xe1d rozrůst\xe1. Nov\xe9 levely a typy cviÄen\xed pÅib\xfdvaj\xed průbÄžnÄ.",statFree:"Levelů zdarma",statSubscription:"Levelů s pÅedplatn\xfdm",statTotal:"Levelů celkem",levelsWord:"levelů",sampleHeading:"Uk\xe1zky cviÄen\xed:",unlockNote:"Tyhle pokroÄil\xe9 levely odemkne pÅedplatn\xe9",learnMorePrefix:"V\xedc o sekci ",ctaStartFree:"ZaÄ\xedt s levely zdarma",ctaViewPlans:"Zobrazit pÅedplatn\xe9",ctaExplore:"Prozkoumat vÅ¡echny funkce",footBefore:"ZaÄni s ",footAfter:" levely zdarma ⢠PokroÄil\xfd obsah vyžaduje pÅedplatn\xe9",difficulty:{Beginner:"ZaÄ\xe1teÄn\xedk",Intermediate:"M\xedrnÄ pokroÄil\xfd",Advanced:"PokroÄil\xfd",Expert:"Expert"},categories:[{title:"Intervaly",description:"Postav si z\xe1klad důkladn\xfdm rozpozn\xe1v\xe1n\xedm intervalů"},{title:"Rozpozn\xe1v\xe1n\xed akordů",description:"Zvl\xe1dni kvintakordy, septakordy a jejich obraty"},{title:"Stupnice a mody",description:"Prozkoumej mody, exotick\xe9 stupnice a harmonick\xe9 vztahy"},{title:"Jazz Voicings",description:"Profesion\xe1ln\xed voicingy a sofistikovan\xe1 harmonie"},{title:"RozÅ¡\xedÅen\xe1 harmonie",description:"Add akordy, mod\xe1ln\xed rozÅ¡\xedÅen\xed a složitÄjÅ¡\xed harmonie"},{title:"FunkÄn\xed harmonie a mistrovstv\xed",description:"Slash akordy, polyakordy, mezidominanty a pokroÄil\xe9 spoje"}],previewLevels:[["Velk\xe9 a mal\xe9 sekundy","Äist\xe9 kvarty a kvinty","VÅ¡echny melodick\xe9 intervaly","Složen\xe9 intervaly"],["Dur, moll, zmenÅ¡en\xe9 a zvÄtÅ¡en\xe9 kvintakordy","Mod\xe1ln\xed kvintakordy (frygick\xfd, lydick\xfd, sus2, sus4)","VÅ¡echny typy septakordů","Mod\xe1ln\xed varianty septakordů"],["C\xedrkevn\xed mody (d\xf3rsk\xfd, frygick\xfd, lydick\xfd, mixolydick\xfd)","Mody melodick\xe9 a harmonick\xe9 moll","Symetrick\xe9 a bebopov\xe9 stupnice"],["TÄsn\xe1 poloha a shell voicingy","Drop 2, drop 3 a So What voicingy","Kvartov\xe9 a blokov\xe9 akordy (Shearingův styl)"],["Add akordy a 6 akordy","9., 11. a 13. akordy","Rozpozn\xe1v\xe1n\xed intervalů pÅes okt\xe1vu"],["Slash akordy a hybridn\xed voicingy","Polyakordy a upper structures","Mezidominanty a chromatick\xe1 harmonie","PokroÄil\xe9 spoje a mistrovstv\xed"]]},pro:{badge:"Älenstv\xed PRO",title:"PosuÅ svůj sluch o level v\xfdÅ¡",body:"VÅ¡echno n\xedž je hotov\xe9 a Äek\xe1 na tebe. Ätrn\xe1ct dn\xed zdarma, pak 6,99 EUR mÄs\xedÄnÄ.",statTotal:"Levelů celkem",statExclusive:"Jen pro PRO",statTrial:"Dn\xed zdarma",ctaStartTrial:"ZaÄ\xedt bezplatnou zkuÅ¡ebn\xed verzi",ctaTryFree:"NejdÅ
1\xedv zkusit 52 levelů zdarma",footTrial:"14denn\xed zkuÅ¡ebn\xed verze zdarma",footCancel:"Kdykoli zruÅ¡\xedÅ¡",features:[{title:"Ž\xe1dn\xe9 Äek\xe1n\xed",description:"Zdarma jsou 3 cviÄen\xed každ\xfdch 8 hodin. S Pro jich m\xe1Å¡, kolik chceÅ¡ a kdy chceÅ¡."},{title:"165 levelů pro Pro",description:"Mody, melodick\xe1 a harmonick\xe1 moll, rozÅ¡\xedÅen\xe9 akordy, funkÄn\xed harmonie, polyakordy."},{title:"Å est hern\xedch modulů",description:"Functioneer, Harmonic Quest, Guido, Hybrid Lab, Polychordist a Slashmaster."},{title:"Open Mic",description:"Zazp\xedvej odpovÄÄ, nebo ji zahraj na svůj n\xe1stroj. Aplikace tvůj t\xf3n slyÅ¡\xed a vyhodnot\xed."},{title:"VÅ¡ech osm n\xe1strojů",description:"Rhodes, smyÄce, harfa, elektrick\xe1 kytara, fl\xe9tna, klarinet a dalÅ¡\xed - ne jenom klav\xedr."},{title:"Každ\xfd interval a akord",description:"Složen\xe9 intervaly, alterovan\xe9 a rozÅ¡\xedÅen\xe9 akordy, vÅ¡echny mody - i v ProcviÄov\xe1n\xed."},{title:"Podrobn\xe9 statistiky",description:"PÅesnost, reakÄn\xed Äasy a rozbor sezen\xed podle modulů, ne jen jedno Ä\xedslo."},{title:"Ligy s histori\xed",description:"T\xfddenn\xed postupy a sestupy a cel\xfd z\xe1znam o tom, jak sis kdy vedl."},{title:"Neomezen\xe9 duely",description:"Vyzvi kohokoli na stejn\xe9 ot\xe1zky a rozhodnÄte to pÅesnost\xed."},{title:"MIDI kl\xe1vesy",description:"Na voicingov\xe9 levely odpov\xeddej hran\xedm pÅ\xedmo v prohl\xedžeÄi, ne Å¥uk\xe1n\xedm."},{title:"EarCoins vydrž\xed v\xedc",description:"N\xe1stroje dostaneÅ¡ s Pro zdarma, takže si za mince kupujeÅ¡ Timbres a boosty."},{title:"PÅednostn\xed podpora",description:"Odpov\xed ti muzikant, kter\xfd to stav\xed, ne fronta ticketů."}]}}};function A(){var e;let{locale:t}=(0,z.Y)();return(null!==(e=P[t])&&void 0!==e?e:S).tiles}function M(e){let{slug:t}=e,a=C[t];return a?(0,r.jsx)(a,{}):(0,r.jsx)(H,{})}let C={"intervals-practice":function(){let e=A();return(0,r.jsx)(T,{tier:"free",children:(0,r.jsxs)("div",{className:"flex h-full flex-col gap-2 px-3 py-3",children:[(0,r.jsx)(E,{children:(0,r.jsx)(V,{notes:[{x:55,y:23},{x:165,y:18}]})}),(0,r.jsx)(B,{items:[{label:e.intervals.history1,result:"correct"},{label:e.intervals.history2,result:"wrong"},{label:e.intervals.history3,result:"correct"}]}),(0,r.jsx)(O,{text:e.correct,status:"correct",answer:e.intervals.answer}),(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,r.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,r.jsx)(L,{label:e.intervals.minorThirdLabel,shortLabel:e.intervals.minorThirdShort,gradientFrom:"from-amber-400",gradientVia:"via-orange-500",gradientTo:"to-red-600",size:78}),(0,r.jsx)(L,{label:e.intervals.majorThirdLabel,shortLabel:e.intervals.majorThirdShort,gradientFrom:"from-indigo-400",gradientVia:"via-purple-500",gradientTo:"to-pink-600",size:78})]})}),(0,r.jsxs)("div",{className:"flex justify-center gap-1.5",children:[(0,r.jsx)(_,{icon:(0,r.jsx)(N.Swo,{className:"h-2 w-2"}),label:e.repeat}),(0,r.jsx)(_,{icon:(0,r.jsx)(N.Ny1,{className:"h-2 w-2"}),label:e.reveal})]})]})})},"chords-practice":function(){let e=A();return(0,r.jsx)(T,{tier:"free",children:(0,r.jsxs)("div",{className:"flex h-full flex-col gap-2 px-3 py-3",children:[(0,r.jsx)(E,{children:(0,r.jsx)(V,{notes:[{x:110,y:28},{x:110,y:23},{x:110,y:18},{x:110,y:13}]})}),(0,r.jsx)(B,{items:[{label:e.chords.history1,result:"correct"},{label:e.chords.history2,result:"wrong"},{label:e.chords.history3,result:"correct"}]}),(0,r.jsx)(O,{text:e.correct,answer:e.chords.answer,status:"correct"}),(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,r.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,r.jsx)(L,{label:e.chords.majorLabel,shortLabel:e.chords.majorShort,gradientFrom:"from-amber-400",gradientVia:"via-orange-500",gradientTo:"to-red-600",size:48}),(0,r.jsx)(L,{label:e.chords.minorLabel,shortLabel:e.chords.minorShort,gradientFrom:"from-indigo-400",gradientVia:"via-purple-500",gradientTo:"to-pink-600",size:48}),(0,r.jsx)(L,{label:e.chords.major7Label,shortLabel:e.chords.major7Short,gradientFrom:"from-emerald-400",gradientVia:"via-teal-500",gradientTo:"to-cyan-600",size:48}),(0,r.jsx)(L,{label:e.chords.minor7Label,shortLabel:e.chords.minor7Short,gradientFrom:"from-rose-400",gradientVia:"via-pink-500",gradientTo:"to-fuchsia-600",size:48})]})}),(0,r.jsxs)("div",{className:"flex justify-center gap-1.5",children:[(0,r.jsx)(_,{icon:(0,r.jsx)(N.Swo,{className:"h-2 w-2"}),label:e.repeat}),(0,r.jsx)(_,{icon:(0,r.jsx)(k.wyI,{className:"h-2.5 w-2.5"}),label:e.arpeggio}),(0,r.jsx)(_,{icon:(0,r.jsx)(N.Ny1,{className:"h-2 w-2"}),label:e.reveal})]})]})})},"scales-practice":function(){let e=A();return(0,r.jsx)(T,{tier:"free",children:(0,r.jsxs)("div",{className:"flex h-full flex-col gap-2 px-3 py-3",children:[(0,r.jsx)(E,{children:(0,r.jsx)(V,{notes:[{x:28,y:28},{x:50,y:25.5},{x:72,y:23},{x:94,y:20.5},{x:116,y:18},{x:138,y:15.5},{x:160,y:13},{x:182,y:10.5}]})}),(0,r.jsx)(B,{items:[{label:e.scales.history1,result:"correct"},{label:e.scales.history2,result:"wrong"}]}),(0,r.jsx)(O,{text:e.correct,status:"correct",answer:e.scales.answer}),(0,r.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,r.jsxs)("div",{className:"grid grid-cols-4 gap-1.5",children:[(0,r.jsx)(L,{label:e.scales.majorLabel,shortLabel:e.scales.majorShort,gradientFrom:"from-amber-400",gradientVia:"via-orange-500",gradientTo:"to-red-600",size:48}),(0,r.jsx)(L,{label:e.scales.dorianLabel,shortLabel:e.scales.dorianShort,gradientFrom:"from-indigo-400",gradientVia:"via-purple-500",gradientTo:"to-pink-600",size:48}),(0,r.jsx)(L,{label:e.scales.phrygianLabel,shortLabel:e.scales.phrygianShort,gradientFrom:"from-emerald-400",gradientVia:"via-teal-500",gradientTo:"to-cyan-600",size:48}),(0,r.jsx)(L,{label:e.scales.minorLabel,shortLabel:e.scales.minorShort,gradientFrom:"from-rose-400",gradientVia:"via-pink-500",gradientTo:"to-fuchsia-600",size:48})]})}),(0,r.jsxs)("div",{className:"flex justify-center gap-1.5",children:[(0,r.jsx)(_,{icon:(0,r.jsx)(N.Swo,{className:"h-2 w-2"}),label:e.repeat}),(0,r.jsx)(_,{icon:(0,r.jsx)(N.Ny1,{className:"h-2 w-2"}),label:e.reveal})]})]})})},"practice-mode":function(){let e=A(),t=[{name:e.practiceArea.intervals,icon:(0,r.jsx)(N.BHn,{}),color:"text-green-600 dark:text-green-400"},{name:e.practiceArea.chords,icon:(0,r.jsx)(k.gKD,{}
1),color:"text-purple-600 dark:text-purple-400"},{name:e.practiceArea.scales,icon:(0,r.jsx)(N.BHn,{}),color:"text-blue-600 dark:text-blue-400"},{name:e.practiceArea.jazzVoicings,icon:(0,r.jsx)(k.UIf,{}),color:"text-orange-600 dark:text-orange-400"}],a=e.practiceArea.proModules;return(0,r.jsx)(T,{tier:"free",children:(0,r.jsxs)("div",{className:"flex h-full flex-col px-3 py-2.5 gap-2",children:[(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"text-[14px] font-bold ear-title",children:e.practiceArea.title}),(0,r.jsx)("div",{className:"text-[8px] text-gray-500 dark:text-neutral-400",children:e.practiceArea.subtitle})]}),(0,r.jsx)("div",{className:"rounded-md bg-gradient-to-br from-slate-900/10 to-blue-900/10 dark:from-slate-900/40 dark:to-blue-900/30 border border-blue-500/20 px-2 py-1 text-center",children:(0,r.jsxs)("div",{className:"inline-flex items-center gap-1 text-[9px] font-semibold text-gray-700 dark:text-white",children:[(0,r.jsx)(f.A,{className:"h-2.5 w-2.5 text-amber-500"}),e.practiceArea.upsell]})}),(0,r.jsx)("div",{className:"grid grid-cols-2 gap-1.5",children:t.map(e=>(0,r.jsxs)("div",{className:"rounded-md bg-card ring-1 ring-border dark:ring-slate-800 p-1.5 flex items-center gap-1.5",children:[(0,r.jsx)("span",{className:"text-[14px] ".concat(e.color),children:e.icon}),(0,r.jsx)("span",{className:"text-[10px] font-bold text-gray-800 dark:text-white truncate",children:e.name})]},e.name))}),(0,r.jsx)("div",{className:"grid grid-cols-3 gap-1 opacity-70",children:a.map(e=>(0,r.jsx)("div",{className:"rounded bg-gray-50 dark:bg-slate-900/40 ring-1 ring-gray-200 dark:ring-slate-800/40 px-1 py-1 text-[8px] font-semibold text-gray-500 dark:text-neutral-400 text-center truncate",children:e},e))})]})})},"jazz-voicings-practice":function(){let e=A();return(0,r.jsx)(T,{tier:"pro",bgClassName:"bg-slate-950",children:(0,r.jsxs)("div",{className:"relative h-full w-full",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-950/30 via-purple-950/20 to-pink-950/30"}),(0,r.jsx)("div",{className:"absolute inset-0",style:{backgroundImage:"radial-gradient(circle at 20% 20%, rgba(59,130,246,0.25), transparent 50%), radial-gradient(circle at 80% 80%, rgba(236,72,153,0.18), transparent 55%)"}}),(0,r.jsxs)("div",{className:"relative h-full p-3 flex flex-col gap-2",children:[(0,r.jsxs)("div",{className:"flex items-center justify-center gap-1.5",children:[(0,r.jsx)(k.gKD,{className:"h-4 w-4 text-blue-400"}),(0,r.jsx)("span",{className:"text-[13px] font-bold bg-clip-text text-transparent bg-gradient-to-r from-blue-400 to-blue-500",children:e.jazzVoicings.title}),(0,r.jsx)(k.gKD,{className:"h-4 w-4 text-blue-400"})]}),(0,r.jsx)("div",{className:"text-center text-[9px] text-white/60 -mt-1",children:e.jazzVoicings.instructions}),(0,r.jsxs)("div",{className:"flex justify-center gap-1.5",children:[(0,r.jsxs)("div",{className:"inline-flex items-center gap-1 rounded-md bg-blue-600/20 border border-blue-500/30 text-blue-300 px-2 py-1 text-[9px] font-semibold",children:[(0,r.jsx)(N.gSK,{className:"h-2 w-2"}),e.jazzVoicings.harmonic]}),(0,r.jsxs)("div",{className:"inline-flex items-center gap-1 rounded-md bg-purple-600/20 border border-purple-500/30 text-purple-300 px-2 py-1 text-[9px] font-semibold",children:[(0,r.jsx)(N.gSK,{className:"h-2 w-2"}),e.jazzVoicings.melodic]})]}),(0,r.jsx)(E,{children:(0,r.jsx)(R,{trebleNotes:[{x:70,y:10},{x:70,y:14},{x:70,y:18},{x:70,y:22}],bassNotes:[{x:70,y:44}]})}),(0,r.jsx)("div",{className:"text-center",children:(0,r.jsx)("div",{className:"inline-flex items-center bg-green-500/20 text-green-300 border border-green-500/30 px-2.5 py-0.5 rounded-full font-semibold text-[10px]",children:e.jazzVoicings.feedback})}),(0,r.jsx)("div",{className:"rounded-lg bg-slate-900/60 backdrop-blur-sm border border-white/10 p-1.5 mt-auto",children:(0,r.jsx)(U,{whiteKeys:14,highlights:[2,4,6,9],highlightColor:"#3b82f6",height:36})})]})]})})},"harmonic-quest":function(){let e=A();return(0,r.jsx)(T,{tier:"pro",children:(0,r.jsxs)("div",{className:"flex h-full flex-col gap-2 px-3 py-3",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex justify-between text-[9px] text-gray-500 dark:text-neutral-400 mb-0.5",children:[(0,r.jsx)("span",{children:e.harmonicQuest.stepLabel}),(0,r.jsx)("span",{children:e.harmonicQuest.stepPercent})]}),(0,r.jsx)("div",{className:"w-full bg-gray-200 dark:bg-neutral-800 rounded-full h-1",children:(0,r.jsx)("div",{className:"h-1 rounded-full bg-indigo-600 dark:bg-indigo-500",style:{width:"60%"}})})]}),(0,r.jsx)(E,{children:(0,r.jsx)(R,{trebleNotes:[{x:70,y:10},{x:70,y:14},{x:70,y:18}],bassNotes:[{x:70,y:48}]})}),(0,r.jsx)("div",{className:"h-7 flex items-center justify-center",children:(0,r.jsx)("div",{className:"inline-flex items-center bg-emerald-500/10 border border-emerald-500/30 text-emerald-700 dark:text-emerald-300 px-2 py-0.5 rounded text-[10px] font-semibold",children:e.harmonicQuest.feedback})}),(0,r.jsx)("div",{className:"rounded-lg overflow-hidden ring-1 ring-gray-300 dark:ring-white/15",children:(0,r.jsx)(U,{whiteKeys:14,highlights:[0,4,7],highlightColor:"#6366f1",height:44})}),(0,r.jsxs)("div",{className:"flex justify-center gap-1.5 mt-auto",children:[(0,r.jsx)(_,{label:e.harmonicQuest.clear}),(0,r.jsx)(_,{label:e.harmonicQuest.show}),(0,r.jsxs)("div",{className:"inline-flex items-center justify-center gap-1 rounded-md bg-indigo-600 hover:bg-indigo-700 text-white px-3 py-1 text-[10px] font-semibold shadow-md shadow-indigo-500/30",children:[e.harmonicQuest.check,(0,r.jsx)(j.A,{className:"h-2.5 w-2.5"})]})]})]})})},polychordist:function(){let e=A();return(0,r.jsx)(T,{tier:"pro",bgClassName:"bg-slate-950",children:(0,r.jsxs)("div",{className:"relative h-full w-full",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-blue-950/30 via-purple-950/20 to-pink-950/30"}),(0,r.jsxs)("div",{className:"relative h-full p-3 flex flex-col gap-2",children:[(0,r.jsxs)("div",{className:"rounded-lg bg-gradient-to-r from-amber-600 to-orange-600 text-white px-2.5 py-2 shadow-lg shadow-amber-500/30",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1 text-[11px] font-bold",children:[(0,r.jsx)("span",{children:"\uD83D\uDE80"}),(0,r.jsx)("span",{children:e.polychordist.bannerTitle})]}),(0,r.jsx)("span",{className:"text-[11px] font-bold",children:e.polychordist.bannerCount})]}),(0,r.jsx)("div",{className:"w-full bg-amber-900/50 rounded-full h-1 mb-0.5 overflow-hidden",children:(0,r.jsx)("div",{className:"h-1 bg-white",style:{width:"60%"}})}),(0,r.jsx)("div",{className:"text-[8px] text-amber-100",children:e.polychordist.bannerNote})]}),(0,r.jsxs)("div",{className:"flex items-center justify-center gap-1.5",children:[(0,r.jsx)(k.UIf,{className:"h-4 w-4 text-pink-400"}),(0,r.jsx)("span",{className:"text-[12px] font-bold bg-clip-text text-transparent bg-gradient-to-r from-pink-400 to-purple-400",children:e.polychordist.title})]}),(0,r.jsx)(E,{children:(0,r.jsx)(R,{trebleNotes:[{x:70,y:10},{x:70,y:16},{x:70,y:20}],bassNotes:[{x:70,y:48}]})}),(0,r.jsx)("div",{className:"text-center",children:(0,r.jsx)("div",{className:"inline-flex items-center bg-green-500/20 text-green-300 border border-green-500/30 px-2.5 py-0.5 rounded-full font-semibold text-[10px]",children:e.polychordist.feedback})}),(0,r.jsx)("div",{className:"rounded-lg bg-slate-900/60 border border-white/10 p-1.5 mt-auto",children:(0,r.jsx)(U,{whiteKeys:14,highlights:[1,3,5,7],highlightColor:"#ec4899",height:36})})]})]})})},lessons:function(){let e=A();return(0,r.jsx)(T,{tier:"free",children:(0,r.jsxs)("div",{className:"flex h-full flex-col px-3 py-3 gap-2",children:[(0,r.jsxs)("div",{className:"flex-1 flex flex-col gap-2 overflow-hidden",children:[(0,r.jsxs)("div",{className:"flex items-end gap-1.5",children:[(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-indigo-500 to-purple-600 text-[9px] font-bold text-white border border-white/30",children:e.lessons.drSharpInitials}),(0,r.jsxs)("div",{className:"rounded-2xl rounded-bl-none bg-indigo-600 text-white px-3 py-2 max-w-[80%] shadow-md",children:[(0,r.jsx)("div",{className:"text-[9px] font-semibold opacity-90 mb-0.5",children:e.lessons.drSharpName}),(0,r.jsx)("div",{className:"text-[10px] leading-snug",children:e.lessons.drSharpMessage})]})]}),(0,r.jsxs)("div",{className:"flex items-end gap-1.5",children:[(0,r.jsx)("div",{className:"w-7 shrink-0"}),(0,r.jsxs)("div",{className:"inline-flex items-center gap-1 rounded-md bg-white/10 hover:bg-white/20 text-gray-700 dark:text-white/90 px-2.5 py-1 text-[10px] font-medium border border-gray-200 dark:border-white/15",children:[(0,r.jsx)(w.A,{className:"h-3 w-3"}),e.lessons.playAudio]})]}),(0,r.jsxs)("div",{className:"flex items-end gap-1.5 justify-end",children:[(0,r.jsxs)("div",{className:"rounded-2xl rounded-br-none bg-blue-500 text-white px-3 py-2 max-w-[75%] shadow-md",children:[(0,r.jsx)("div",{className:"text-[9px] font-semibold opacity-90 mb-0.5 text-right",children:e.lessons.youName}),(0,r.jsx)("div",{className:"text-[10px] leading-snug",children:e.lessons.studentMessage})]}),(0,r.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-gradient-to-br from-blue-500 to-cyan-500 text-[9px] font-bold text-white border border-white/30",children:e.lessons.youInitials})]})]}),(0,r.jsxs)("div",{className:"w-full inline-flex items-center justify-center gap-1.5 rounded-md bg-indigo-600 hover:bg-indigo-700 text-white px-3 py-2 text-[11px] font-semibold shadow-md shadow-indigo-500/30",children:[e.lessons.continueButton,(0,r.jsx)(j.A,{className:"h-3 w-3"})]})]})})}};function T(e){let{tier:t="free",children:a,bgClassName:s="bg-white dark:bg-neutral-900"}=e,i=A();return(0,r.jsxs)("div",{className:"absolute inset-0 h-full w-full overflow-hidden ".concat(s),children:[a,"pro"===t&&(0,r.jsxs)("span",{className:"absolute top-2 right-2 z-10 inline-flex items-center gap-1 rounded-full bg-gradient-to-r from-amber-500/20 to-orange-500/20 border border-amber-500/40 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wider text-amber-700 dark:text-amber-300",children:[(0,r.jsx)(f.A,{className:"h-2 w-2"}),i.proBadge]})]})}function E(e){let{children:t}=e;return(0,r.jsx)("div",{className:"rounded-lg bg-card ring-1 ring-border text-neutral-900 dark:text-slate-50 px-2 py-2 shadow-sm",children:t})}function L(e){let{label:t,shortLabel:a,gradientFrom:i="from-amber-400",gradientVia:n="via-orange-500",gradientTo:o="to-red-600",size:l=72}=e,d=s.useId().replace(/:/g,"-"),c=Math.max(8,Math.round(.13*l));return(0,r.jsxs)("div",{className:"relative shrink-0",style:{width:l,height:l},"aria-label":t,children:[(0,r.jsxs)("div",{className:"absolute inset-0 rounded-full overflow-hidden bg-[#0a0a0a]",style:{boxShadow:"0 4px 18px rgba(0,0,0,0.4), inset 0 1px 3px rgba(0,0,0,0.6)"},children:[(0,r.jsx)("div",{className:"absolute inset-0 rounded-full",style:{background:"radial-gradient(circle at 50% 50%, transparent 0%, transparent 92%, rgba(40,40,40,0.5) 94%, rgba(60,60,60,0.3) 96%, rgba(20,20,20,0.8) 98%, rgba(10,10,10,1) 100%)"}}),(0,r.jsx)("div",{className:"absolute inset-0 rounded-full",style:{background:"repeating-radial-gradient(circle at 50% 50%, #050505 0px, #0d0d0d 0.6px, #1a1a1a 0.9px, #121212 1.2px, #080808 1.5px, #050505 2px)"}}),(0,r.jsx)("div",{className:"absolute inset-0 rounded-full opacity-40",style:{background:"conic-gradient(from 30deg, transparent 0%, rgba(255,255,255,0.12) 12%, transparent 20%, rgba(255,255,255,0.06) 45%, transparent 55%)"}})]}),(0,r.jsxs)("svg",{className:"absolute inset-0 w-full h-full pointer-events-none",viewBox:"0 0 100 100",style:{transform:"rotate(-90deg)"},children:[(0,r.jsx)("defs",{children:(0,r.jsx)("path",{id:d,d:"M 50,18 A 32,32 0 1,1 49.99,18",fill:"none"})}),(0,r.jsx)("text",{fill:"white",fontWeight:"bold",fontSize:c,style:{filter:"drop-shadow(0 1px 2px rgba(0,0,0,0.8))"},children:(0,r.jsx)("textPath",{href:"#".concat(d),startOffset:"25%",textAnchor:"middle",dy:"4",children:a})})]}),(0,r.jsx)("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 roun
1ded-full bg-gradient-to-br ".concat(i," ").concat(n," ").concat(o),style:{width:"28%",height:"28%",boxShadow:"0 2px 6px rgba(0,0,0,0.3)"},children:(0,r.jsx)("div",{className:"absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-black/85",style:{width:3,height:3}})})]})}function I(e){let t=[];for(let a of e){let e=t.find(e=>.5>Math.abs(e[0].x-a.x));e?e.push(a):t.push([a])}return t}let D="currentColor",F="currentColor";function V(e){let{notes:t,width:a=220,height:s=48}=e,i=[0,1,2,3,4].map(e=>8+5*e),n=i[i.length-1];return(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(a," ").concat(s),className:"w-full h-full",preserveAspectRatio:"xMidYMid meet",children:[i.map(e=>(0,r.jsx)("line",{x1:4,y1:e,x2:a-4,y2:e,stroke:D,strokeWidth:.5},e)),(0,r.jsx)("line",{x1:4.5,y1:8,x2:4.5,y2:n,stroke:D,strokeWidth:1.2}),(0,r.jsx)("line",{x1:a-4.5,y1:8,x2:a-4.5,y2:n,stroke:D,strokeWidth:1.2}),I(t).map((e,t)=>{let a=[...e].sort((e,t)=>e.y-t.y),s=a[0],i=a[a.length-1],n=a.reduce((e,t)=>e+t.y,0)/a.length,o=e[0].x;return(0,r.jsxs)("g",{children:[n>18?(0,r.jsx)("line",{x1:o+2.8,y1:i.y-.8,x2:o+2.8,y2:s.y-14,stroke:F,strokeWidth:.7}):(0,r.jsx)("line",{x1:o-2.8,y1:s.y+.8,x2:o-2.8,y2:i.y+14,stroke:F,strokeWidth:.7}),a.map((e,t)=>(0,r.jsx)("ellipse",{cx:e.x,cy:e.y,rx:3.2,ry:2.4,transform:"rotate(-22 ".concat(e.x," ").concat(e.y,")"),fill:F},t))]},t)})]})}function R(e){let{trebleNotes:t=[],bassNotes:a=[],width:s=220}=e,i=[0,1,2,3,4].map(e=>6+4*e),n=i[i.length-1],o=n+16,l=[0,1,2,3,4].map(e=>o+4*e),d=l[l.length-1],c=d+6,m=(e,t,a)=>I(e).map((e,s)=>{let i=[...e].sort((e,t)=>e.y-t.y),n=i[0],o=i[i.length-1],l=i.reduce((e,t)=>e+t.y,0)/i.length,d=e[0].x;return(0,r.jsxs)("g",{children:[l>(t+a)/2?(0,r.jsx)("line",{x1:d+2.3,y1:o.y-.5,x2:d+2.3,y2:n.y-11,stroke:F,strokeWidth:.6}):(0,r.jsx)("line",{x1:d-2.3,y1:n.y+.5,x2:d-2.3,y2:o.y+11,stroke:F,strokeWidth:.6}),i.map((e,t)=>(0,r.jsx)("ellipse",{cx:e.x,cy:e.y,rx:2.6,ry:2,transform:"rotate(-22 ".concat(e.x," ").concat(e.y,")"),fill:F},t))]},s)});return(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(s," ").concat(c),className:"w-full h-full",preserveAspectRatio:"xMidYMid meet",children:[(0,r.jsx)("line",{x1:5,y1:6,x2:5,y2:d,stroke:D,strokeWidth:1.6}),(0,r.jsx)("line",{x1:7,y1:6,x2:7,y2:d,stroke:D,strokeWidth:.5}),i.map(e=>(0,r.jsx)("line",{x1:9,y1:e,x2:s-4,y2:e,stroke:D,strokeWidth:.4},"t-".concat(e))),l.map(e=>(0,r.jsx)("line",{x1:9,y1:e,x2:s-4,y2:e,stroke:D,strokeWidth:.4},"b-".concat(e))),(0,r.jsx)("line",{x1:s-4.5,y1:6,x2:s-4.5,y2:d,stroke:D,strokeWidth:1.2}),m(t,6,n),m(a,o,d)]})}function B(e){let{items:t}=e,a=A(),s={correct:"bg-emerald-500/15 text-emerald-700 dark:text-emerald-300 border-emerald-500/30",wrong:"bg-red-500/15 text-red-700 dark:text-red-300 border-red-500/30",skip:"bg-amber-500/15 text-amber-700 dark:text-amber-300 border-amber-500/30"};return(0,r.jsx)("div",{className:"w-full px-2",children:(0,r.jsx)("div",{className:"mx-auto flex gap-1.5 flex-nowrap justify-center py-1 px-2 rounded-md bg-gray-100/60 dark:bg-white/5 border border-gray-200 dark:border-white/10 max-w-xs min-h-[28px]",children:t.length>0?t.slice(-3).map((e,t)=>(0,r.jsx)("div",{className:"flex items-center justify-center rounded border px-1.5 py-0.5 text-[9px] font-semibold leading-tight ".concat(s[e.result]),children:e.label},t)):(0,r.jsx)("div",{className:"flex w-full items-center justify-center text-[8px] tracking-[0.15em] uppercase text-gray-400 dark:text-neutral-500 px-1",children:a.historyEmpty})})})}function _(e){let{icon:t,label:a}=e;return(0,r.jsxs)("div",{className:"inline-flex items-center justify-center gap-1 rounded-md bg-gray-100 dark:bg-neutral-800 text-gray-700 dark:text-neutral-200 hover:bg-gray-200 dark:hover:bg-neutral-700 px-2 py-1 text-[10px] font-medium ring-1 ring-gray-200 dark:ring-neutral-700",children:[t,a]})}function O(e){let{text:t,answer:a,status:s="correct"}=e,i=A();return"idle"===s?(0,r.jsx)("div",{className:"text-center text-[8px] uppercase tracking-[0.3em] text-gray-400 dark:text-neutral-500",children:t}):(0,r.jsxs)("div",{className:"flex flex-col items-center gap-0.5",children:[(0,r.jsx)("div",{className:"text-[12px] font-semibold ".concat("correct"===s?"text-emerald-600 dark:text-emerald-400":"text-red-600 dark:text-red-400"),children:t}),a&&(0,r.jsxs)("div",{className:"text-[10px] text-gray-500 dark:text-neutral-400",children:[i.answerPrefix," ",a]})]})}function U(e){let{whiteKeys:t=14,highlights:a=[],highlightColor:s="#3b82f6",height:i=44}=e,n=12*t,o=[!0,!0,!1,!0,!0,!0,!1];return(0,r.jsxs)("svg",{viewBox:"0 0 ".concat(n," ").concat(i),className:"w-full h-auto",preserveAspectRatio:"xMidYMid meet",children:[(0,r.jsx)("rect",{x:0,y:0,width:n,height:i,fill:"#0f172a",rx:1}),Array.from({length:t}).map((e,t)=>{let n=a.includes(t);return(0,r.jsx)("rect",{x:12*t+.3,y:1,width:11.4,height:i-2,fill:n?s:"#f8fafc",stroke:"#cbd5e1",strokeWidth:.25,rx:.5},"w-".concat(t))}),Array.from({length:t}).map((e,t)=>o[t%7]?(0,r.jsx)("rect",{x:(t+1)*12-3.84,y:1,width:7.4399999999999995,height:.6*i,fill:"#0f172a",rx:.4},"b-".concat(t)):null)]})}function H(){let e=A();return(0,r.jsx)(T,{tier:"free",children:(0,r.jsx)("div",{className:"flex h-full items-center justify-center text-gray-400 dark:text-neutral-500 text-[10px]",children:e.defaultTile})})}var q=a(79112);let W=e=>{let{features:t,showHeader:a=!0}=e,i=t.slice(0,5),n=t.slice(5,10),o=t.slice(10,15),l=s.useRef(null),[d,c]=s.useState(!1);s.useEffect(()=>{let e=()=>c(window.innerWidth<768);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let{scrollYProgress:m}=(0,h.L)({target:l,offset:["start start","end start"]}),u={stiffness:300,damping:30,bounce:100}
1,x=(0,p.z)((0,g.G)(m,[0,1],[0,500]),u),y=(0,p.z)((0,g.G)(m,[0,1],[0,-500]),u),b=(0,p.z)((0,g.G)(m,[0,.2],[15,0]),u),f=(0,p.z)((0,g.G)(m,[0,.2],[.2,1]),u),j=(0,p.z)((0,g.G)(m,[0,.2],[20,0]),u),w=(0,p.z)((0,g.G)(m,[0,.2],d?[-220,200]:[-350,250]),u);return(0,r.jsxs)("div",{ref:l,className:"h-[100vh] pt-[calc(env(safe-area-inset-top,0px)+0.25rem)] md:pt-12 pb-10 overflow-hidden antialiased relative flex flex-col self-auto [perspective:1000px] [transform-style:preserve-3d]",children:[a?(0,r.jsx)(Q,{}):(0,r.jsx)("div",{"aria-hidden":!0,className:"h-[250px] md:h-[460px]"}),(0,r.jsxs)(v.P.div,{style:{rotateX:b,rotateZ:j,translateY:w,opacity:f},children:[(0,r.jsx)(v.P.div,{className:"flex flex-row-reverse space-x-reverse space-x-20 mb-20",children:i.map(e=>(0,r.jsx)(J,{feature:e,translate:x},e.title))}),(0,r.jsx)(v.P.div,{className:"flex flex-row mb-20 space-x-20",children:n.map(e=>(0,r.jsx)(J,{feature:e,translate:y},e.title))}),(0,r.jsx)(v.P.div,{className:"flex flex-row-reverse space-x-reverse space-x-20",children:o.map(e=>(0,r.jsx)(J,{feature:e,translate:x},e.title))})]})]})},Q=()=>{var e;let{hasLoaded:t,userName:a}=(0,q.E)(),{locale:s}=(0,z.Y)(),i=null!==(e=P[s])&&void 0!==e?e:S;return(0,r.jsxs)("div",{className:"max-w-7xl relative mx-auto pt-0 md:pt-16 pb-6 md:pb-20 px-4 w-full left-0 top-0",children:[(0,r.jsx)("div",{className:"absolute top-1/2 right-0 -translate-y-1/2 pointer-events-none hidden sm:block z-0",children:(0,r.jsx)("div",{className:"w-[380px] md:w-[500px]",children:(0,r.jsx)(y.default,{src:"/avatars/Earonman-NoBackground.png",alt:i.hero.avatarAlt,width:550,height:550,className:"opacity-60 md:opacity-90",style:{width:"100%",height:"auto"},priority:!0})})}),(0,r.jsxs)("div",{className:"relative z-10",children:[(0,r.jsxs)("h1",{className:"text-2xl md:text-7xl font-bold",children:[(0,r.jsxs)("span",{className:"ear-title tracking-tight",children:[i.hero.titleLine1," ",(0,r.jsx)("br",{}),i.hero.titleLine2]})," ",(0,r.jsx)(b,{text:i.hero.titleName})]}),(0,r.jsx)("p",{className:"max-w-2xl text-base md:text-xl mt-6 text-muted-foreground",children:i.hero.body}),(0,r.jsx)("div",{className:"mt-6 flex flex-wrap gap-4 relative z-20",children:t&&a&&"User"!==a?(0,r.jsx)(n(),{href:"/exercises",children:(0,r.jsx)(v.P.button,{whileHover:{scale:1.05},whileTap:{scale:.98},className:"px-8 py-3 rounded-xl bg-primary text-primary-foreground font-medium",children:i.hero.startExercises})}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n(),{href:"/auth/register",children:(0,r.jsx)(v.P.button,{whileHover:{scale:1.05},whileTap:{scale:.98},className:"px-8 py-3 rounded-xl bg-primary text-primary-foreground font-medium",children:i.hero.startFree})}),(0,r.jsx)(n(),{href:"/pricing",children:(0,r.jsx)(v.P.button,{whileHover:{scale:1.05},whileTap:{scale:.98},className:"px-8 py-3 rounded-xl border border-border bg-transparent text-foreground font-medium",children:i.hero.viewPlans})})]})})]})]})},J=e=>{let{feature:t,translate:a}=e;return(0,r.jsxs)(v.P.div,{style:{x:a},whileHover:{y:-20},className:"group/feature h-96 w-[30rem] relative flex-shrink-0",children:[(0,r.jsx)(n(),{href:t.link,className:"block group-hover/feature:shadow-2xl absolute inset-0 h-full w-full",children:t.previewSlug?(0,r.jsx)(M,{slug:t.previewSlug}):t.thumbnail?(0,r.jsx)(y.default,{src:t.thumbnail,height:"600",width:"600",className:"object-cover object-left-top absolute h-full w-full inset-0",alt:t.title}):null}),(0,r.jsx)("div",{className:"absolute inset-0 h-full w-full opacity-0 group-hover/feature:opacity-80 bg-black pointer-events-none"}),(0,r.jsx)("h2",{className:"absolute bottom-4 left-4 opacity-0 group-hover/feature:opacity-100 text-white",children:t.title})]},t.title)};var Z=a(7672),Y=a(67605),K=a(25683);let G=e=>{let{testimonials:t,autoplay:a=!1}=e,[i,n]=(0,s.useState)(0),o=(0,s.useCallback)(()=>{n(e=>(e+1)%t.length)},[t]),l=(0,s.useCallback)(()=>{n(e=>(e-1+t.length)%t.length)},[t]),d=e=>e===i;(0,s.useEffect)(()=>{if(a){let e=setInterval(o,5e3);return()=>clearInterval(e)}},[a,o]);let c=()=>Math.floor(21*Math.random())-10,m=e=>13*e%21-10;return(0,r.jsx)("div",{className:"max-w-sm md:max-w-4xl mx-auto antialiased font-sans px-4 md:px-8 lg:px-12 py-20",children:(0,r.jsxs)("div",{className:"relative grid grid-cols-1 md:grid-cols-2 gap-20",children:[(0,r.jsx)("div",{children:(0,r.jsx)("div",{className:"relative h-80 w-full",children:(0,r.jsx)(K.N,{children:t.map((e,a)=>(0,r.jsx)(v.P.div,{initial:{opacity:0,scale:.9,z:-100,rotate:m(a)}
1,animate:{opacity:d(a)?1:.7,scale:d(a)?1:.95,z:d(a)?0:-100,rotate:d(a)?0:c(),zIndex:d(a)?999:t.length+2-a,y:d(a)?[0,-80,0]:0},exit:{opacity:0,scale:.9,z:100,rotate:c()},transition:{duration:.4,ease:"easeInOut"},className:"absolute inset-0 origin-bottom",children:(0,r.jsx)(y.default,{src:e.src,alt:e.name,width:500,height:500,draggable:!1,className:"h-full w-full rounded-3xl object-cover object-center"})},e.src))})})}),(0,r.jsxs)("div",{className:"flex justify-between flex-col py-4",children:[(0,r.jsxs)(v.P.div,{initial:{y:20,opacity:0},animate:{y:0,opacity:1},exit:{y:-20,opacity:0},transition:{duration:.2,ease:"easeInOut"},children:[(0,r.jsx)("h3",{className:"text-2xl font-bold ear-title",children:t[i].name}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t[i].designation}),(0,r.jsx)(v.P.p,{className:"text-lg text-muted-foreground mt-8",children:t[i].quote.split(" ").map((e,t)=>(0,r.jsxs)(v.P.span,{initial:{filter:"blur(10px)",opacity:0,y:5},animate:{filter:"blur(0px)",opacity:1,y:0},transition:{duration:.2,ease:"easeInOut",delay:.02*t},className:"inline-block",children:[e,"\xa0"]},t))})]},i),(0,r.jsxs)("div",{className:"flex gap-4 pt-12 md:pt-0",children:[(0,r.jsx)("button",{onClick:l,className:"h-7 w-7 rounded-full bg-surface2 border border-border flex items-center justify-center group/button",children:(0,r.jsx)(Z.A,{className:"h-5 w-5 text-foreground group-hover/button:rotate-12 transition-transform duration-300"})}),(0,r.jsx)("button",{onClick:o,className:"h-7 w-7 rounded-full bg-surface2 border border-border flex items-center justify-center group/button",children:(0,r.jsx)(Y.A,{className:"h-5 w-5 text-foreground group-hover/button:-rotate-12 transition-transform duration-300"})})]})]})]})})};var $=a(21567),X=a(43441),ee=a(74576),et=a(21937),ea=a(8826),er=a(7528),es=a(50072),ei=a(30500),en=a(33501),eo=a(98406),el=a(82200),ed=a(10346),ec=a(74974);let em=(0,a(31027).F)("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function eu(e){let{className:t,variant:a,...s}=e;return(0,r.jsx)("div",{className:(0,$.cn)(em({variant:a}),t),...s})}function ex(){var e;let{locale:t}=(0,z.Y)(),a=null!==(e=P[t])&&void 0!==e?e:S,s=[(0,r.jsx)(X.A,{className:"w-8 h-8"},"authentic-sound"),(0,r.jsx)(ee.A,{className:"w-8 h-8"},"dr-earmond-sharp"),(0,r.jsx)(et.A,{className:"w-8 h-8"},"levels"),(0,r.jsx)(ea.A,{className:"w-8 h-8"},"open-mic"),(0,r.jsx)(er.A,{className:"w-8 h-8"},"trainers"),(0,r.jsx)(X.A,{className:"w-8 h-8"},"harmonic-quest"),(0,r.jsx)(es.A,{className:"w-8 h-8"},"duels"),(0,r.jsx)(ei.A,{className:"w-8 h-8"},"leagues"),(0,r.jsx)(en.A,{className:"w-8 h-8"},"practice-mode"),(0,r.jsx)(eo.A,{className:"w-8 h-8"},"ear-coins"),(0,r.jsx)(el.A,{className:"w-8 h-8"},"midi"),(0,r.jsx)(ed.A,{className:"w-8 h-8"},"mobile"),(0,r.jsx)(ec.A,{className:"w-8 h-8"},"teachers"),(0,r.jsx)(er.A,{className:"w-8 h-8"},"free-account")],i=a.features.items.map((e,t)=>({...e,icon:s[t]}));return(0,r.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 relative z-10 py-10 max-w-7xl mx-auto",children:i.map((e,t)=>(0,r.jsx)(ep,{...e,index:t},e.title))})}let eh=["var(--hue-interval-rgb)","var(--hue-guido-rgb)","var(--hue-scale-rgb)","var(--ear-pink-rgb)","var(--hue-hybrid-lab-rgb)","var(--hue-harmonic-quest-rgb)","var(--ear-danger-rgb)","var(--ear-achievement-rgb)","var(--hue-functioneer-rgb)","var(--ear-warning-rgb)","var(--hue-chord-rgb)","var(--ear-info-rgb)","var(--ear-accent-rgb)","var(--ear-success-rgb)"],ep=e=>{var t;let{title:a,description:s,icon:i,index:n}=e,{locale:o}=(0,z.Y)(),l=null!==(t=P[o])&&void 0!==t?t:S,d=eh[n%eh.length];return(0,r.jsxs)("div",{className:(0,$.cn)("flex flex-col lg:border-r border-border py-10 relative group/feature",(0===n||4===n)&&"lg:border-l border-border",n<4&&"lg:border-b border-border"),children:[(2===n||3===n||4===n||5===n||6===n)&&(0,r.jsx)(eu,{className:"absolute top-2 right-2 bg-ear-accent/15 text-ear-accent border border-ear-accent/30 text-[10px] font-mono uppercase tracking-widest px-2 py-1 font-medium",children:l.features.proBadge}),n<4&&(0,r.jsx)("div",{className:"opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full pointer-events-none",style:{background:"linear-gradient(to top, rgba(".concat(d,", 0.08), transparent)")}}),n>=4&&(0,r.jsx)("div",{className:"opacity-0 group-hover/feature:opacity-100 transition duration-200 absolute inset-0 h-full w-full pointer-events-none",style:{background:"linear-gradient(to bottom, rgba(".concat(d,", 0.08), transparent)")}}),(0,r.jsx)("div",{className:"mb-4 relative z-10 px-10",style:{color:"rgb(".concat(d,")")},children:i}),(0,r.jsxs)("div",{className:"text-lg font-bold mb-2 relative z-10 px-10",children:[(0,r.jsx)("div",{className:"absolute left-0 inset-y-0 h-6 group-hover/feature:h-8 w-1 rounded-tr-full rounded-br-full transition-all duration-200 origin-center",style:{backgroundColor:"rgba(".concat(d,", 0.75)")}}),(0,r.jsx)("span",{className:"group-hover/feature:translate-x-2 transition duration-200 inline-block text-foreground",children:a})]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground max-w-xs relative z-10 px-10",children:s})]})};var eg=a(21194),ev=a(71568),ey=a(40947),eb=a(16972),ef=a(93467),ej=a(67072),ew=a(17819),eN=a(48686),ek=a(51719);let ez=[{id:"intervals",title:"Interval Training",description:"Build your foundation with comprehensive interval recognition",icon:(0,r.jsx)(eb.A,{className:"h-6 w-6"}),levelCount:42,previewLevels:["Major and Minor Seconds","Perfect Fourths and Fifths","All Melodic Intervals","Compound Intervals"],difficulty:"Beginner",landingSlug:"intervals-practice"},{id:"chords-basic",title:"Chord Recognition",description:"Master tri
1ads, seventh chords, and their inversions",icon:(0,r.jsx)(ef.A,{className:"h-6 w-6"}),levelCount:26,previewLevels:["Major, Minor, Diminished & Augmented Triads","Modal Triads (Phrygian, Lydian, Sus2, Sus4)","All 7th Chord Types","Modal 7th Chord Variations"],difficulty:"Intermediate",landingSlug:"chords-practice"},{id:"scales",title:"Scale Mastery",description:"Explore modes, exotic scales, and harmonic relationships",icon:(0,r.jsx)(ej.A,{className:"h-6 w-6"}),levelCount:20,previewLevels:["Church Modes (Dorian, Phrygian, Lydian, Mixolydian)","Melodic & Harmonic Minor Modes","Symmetric Scales & Bebop Scales"],requiresSubscriptionToAccess:!0,difficulty:"Advanced",landingSlug:"scales-practice"},{id:"voicings",title:"Jazz Voicings",description:"Professional chord voicings and sophisticated harmony",icon:(0,r.jsx)(ew.A,{className:"h-6 w-6"}),levelCount:8,previewLevels:["Closed Position & Shell Voicings","Drop 2, Drop 3 & So What Voicings","Quartal & Block Chords (Shearing Style)"],requiresSubscriptionToAccess:!1,difficulty:"Expert",landingSlug:"jazz-voicings-practice"},{id:"extended",title:"Extended Harmony",description:"Add chords, modal extensions, and complex harmonie
1s",icon:(0,r.jsx)(eb.A,{className:"h-6 w-6"}),levelCount:37,previewLevels:["Add Chords & 6 Chords","9th, 11th & 13th Chords","Cross-Octave Interval Recognition"],requiresSubscriptionToAccess:!0,difficulty:"Expert",landingSlug:"harmonic-quest"},{id:"functional-harmony",title:"Functional Harmony & Mastery",description:"Slash chords, polychords, secondary dominants, and advanced progressions",icon:(0,r.jsx)(ew.A,{className:"h-6 w-6"}),levelCount:84,previewLevels:["Slash Chords & Hybrid Voicings","Polychords & Upper Structure Triads","Secondary Dominants & Chromatic Harmony","Advanced Progressions & Ultimate Mastery"],requiresSubscriptionToAccess:!0,difficulty:"Expert",landingSlug:"functioneer"}],eS={Beginner:"bg-success/15 text-success border border-success/25",Intermediate:"bg-action/15 text-action border border-action/25",Advanced:"bg-ear-accent/15 text-ear-accent border border-ear-accent/25",Expert:"bg-danger/15 text-danger border border-danger/25"},eP={intervals:"var(--hue-interval-rgb)","chords-basic":"var(--hue-chord-rgb)",scales:"var(--hue-scale-rgb)",voicings:"var(--hue-voicing-rgb)",extended:"var(--hue-polychordist-rgb)","functional-harmony":"var(--hue-functioneer-rgb)"};function eA(){var e,t,a,i;let{locale:o}=(0,z.Y)(),d=(null!==(e=P[o])&&void 0!==e?e:S).curriculum,[c,m]=(0,s.useState)(null),[u,x]=(0,s.use
1State)(null);(0,s.useEffect)(()=>{let e=!1;return fetch("/api/curriculum-stats").then(e=>e.ok?e.json():null).then(t=>{!e&&t&&"number"==typeof t.total&&x(t)}).catch(()=>{}),()=>{e=!0}},[]);let h=e=>{m(t=>t===e?null:e)},p=e=>{var t;return null!==(t=null==u?void 0:u.byCategory[e.id])&&void 0!==t?t:e.levelCount},g=null!==(t=null==u?void 0:u.total)&&void 0!==t?t:217,y=null!==(a=null==u?void 0:u.free)&&void 0!==a?a:52,b=null!==(i=null==u?void 0:u.pro)&&void 0!==i?i:165;return(0,r.jsxs)("section",{className:"relative py-24",children:[(0,r.jsx)("div",{className:"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80",children:(0,r.jsx)("div",{className:"relative left-[calc(50%-11rem)] aspect-[1155/678] w-[36.125rem] -translate-x-1/2 rotate-[30deg] bg-gradient-to-tr from-action to-ear-accent opacity-[0.12] sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]"})}),(0,r.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,r.jsx)("h2",{className:"text-base font-semibold leading-7 text-action",children:d.eyebrow}),(0,r.jsx)("p",{className:"mt-2 text-3xl sm:text-4xl font-bold text-center mb-4 ear-title",children:d.title}),(0,r.jsx)("p",{className:"mt-6 text-lg leading-8 text-muted-foreground",children:d.body}),(0,r.jsx)("div",{className:"mt-6 p-4 bg-action/10 border border-action/25 rounded-lg",children:(0,r.jsx)("p",{className:"text-sm text-action",children:d.evolvingNote})}),(0,r.jsxs)("div",{className:"flex flex-col items-stretch gap-6 mt-8 sm:flex-row sm:justify-center sm:items-center sm:gap-8",children:[(0,r.jsxs)("div",{className:"text-center border border-border rounded-xl py-4 px-6 shadow-sm sm:border-0 sm:shadow-none",children:[(0,r.jsx)("div",{className:"font-display text-2xl font-bold text-action",children:y}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:d.statFree})]}),(0,r.jsxs)("div",{className:"text-center border border-border rounded-xl py-4 px-6 shadow-sm sm:border-0 sm:shadow-none",children:[(0,r.jsx)("div",{className:"font-display text-2xl font-bold text-ear-accent",children:b}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:d.statSubscription})]}),(0,r.jsxs)("div",{className:"text-center border border-border rounded-xl py-4 px-6 shadow-sm sm:border-0 sm:shadow-none",children:[(0,r.jsx)("div",{className:"font-display text-2xl font-bold text-success",children:g}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:d.statTotal})]})]})]}),(0,r.jsxs)("div",{className:"mx-auto mt-16 max-w-5xl",children:[(0,r.jsx)("div",{className:"space-y-4",children:ez.map((e,t)=>{var a,s,i,o,l;return(0,r.jsx)(v.P.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{delay:.1*t},children:(0,r.jsx)(ev.Zp,{className:"ear-card overflow-hidden border-0 ring-1 ring-transparent hover:ring-[rgb(var(--hue)_/_0.35)] transition-all duration-200",style:{"--hue":null!==(a=eP[e.id])&&void 0!==a?a:"var(--hue-neutral-rgb)"},children:(0,r.jsxs)(ev.Wu,{className:"p-0",children:[(0,r.jsx)("button",{onClick:()=>h(e.id),className:"w-full px-4 py-5 text-left hover:bg-white/[0.03] transition-colors sm:px-6",children:(0,r.jsxs)("div",{className:"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between",children:[(0,r.jsxs)("div",{className:"flex items-start gap-4",children:[(0,r.jsx)("div",{className:"p-3 rounded-lg bg-[rgb(var(--hue)_/_0.14)] text-[rgb(var(--hue))]",children:e.icon}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)("h3",{className:"ear-title text-lg font-semibold sm:text-xl",children:(null!==(s=d.categories[t])&&void 0!==s?s:e).title}),(0,r.jsx)(ey.E,{variant:"secondary",className:eS[e.difficulty],children:d.difficulty[e.difficulty]}),e.requiresSubscriptionToAccess&&(0,r.jsxs)(ey.E,{className:"bg-ear-accent/15 text-ear-accent border border-ear-accent/30",children:[(0,r.jsx)(eN.A,{className:"h-3 w-3 mr-1"}),"Subscription"]})]}),(0,r.jsx)("p",{className:"text-muted-foreground",children:(null!==(i=d.categories[t])&&void 0!==i?i:e).description})]})]}),(0,r.jsxs)("div",{className:"flex items-center justify-between gap-4 sm:gap-6",children:[(0,r.jsxs)("div",{className:"text-left sm:text-right",children:[(0,r.jsx)("div",{className:"ear-title text-xl font-bold sm:text-2xl",children:p(e)}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:d.levelsWord})]}),c===e.id?(0,r.jsx)(ek.A,{className:"h-5 w-5 text-muted-foreground"}):(0,r.jsx)(j.A,{className:"h-5 w-5 text-muted-foreground"})]})]})}),(0,r.jsx)(K.N,{children:c===e.id&&(0,r.jsx)(v.P.div,{initial:{height:0,opacity:0}
1,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.2},className:"overflow-hidden",children:(0,r.jsx)("div",{className:"px-6 pb-6 border-t border-border bg-white/[0.02]",children:(0,r.jsxs)("div",{className:"mt-4",children:[(0,r.jsx)("h4",{className:"text-sm font-medium text-foreground mb-3",children:d.sampleHeading}),(0,r.jsx)("div",{className:"space-y-2",children:(null!==(o=d.previewLevels[t])&&void 0!==o?o:e.previewLevels).map((e,t)=>(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm text-foreground/85",children:[(0,r.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-action flex-shrink-0"}),e]},t))}),e.requiresSubscriptionToAccess&&(0,r.jsx)("div",{className:"mt-4 p-3 bg-gradient-to-r from-purple-50 to-pink-50 dark:from-purple-900/20 dark:to-pink-900/20 rounded-lg border border-purple-200 dark:border-purple-800",children:(0,r.jsxs)("p",{className:"text-sm text-purple-700 dark:text-purple-300",children:[(0,r.jsx)(eN.A,{className:"h-4 w-4 inline mr-1"}),d.unlockNote]})}),(0,r.jsx)("div",{className:"mt-5 flex justify-end",children:(0,r.jsxs)(n(),{href:"/features/".concat(e.landingSlug),className:"inline-flex items-center gap-1 text-sm font-semibold text-action hover:text-foreground transition-colors",children:[d.learnMorePrefix,(null!==(l=d.categories[t])&&void 0!==l?l:e).title,(0,r.jsx)(j.A,{className:"h-4 w-4"})]})})]})})})})]})})},e.id)})}),(0,r.jsxs)("div",{className:"mt-12 text-center",children:[(0,r.jsxs)("div",{className:"flex flex-col items-stretch gap-3 sm:flex-row sm:items-center sm:justify-center sm:gap-4",children:[(0,r.jsx)(l.$,{asChild:!0,size:"lg",className:"w-full sm:w-auto bg-primary text-primary-foreground hover:bg-primary/90",children:(0,r.jsx)(n(),{href:"/exercises",children:d.ctaStartFree})}),(0,r.jsx)(l.$,{asChild:!0,variant:"outline",size:"lg",className:"w-full sm:w-auto",children:(0,r.jsx)(n(),{href:"/pricing",children:d.ctaViewPlans})}),(0,r.jsx)(l.$,{asChild:!0,variant:"outline",size:"lg",className:"w-full sm:w-auto",children:(0,r.jsx)(n(),{href:"/features",children:d.ctaExplore})})]}),(0,r.jsxs)("p",{className:"mt-4 text-sm text-muted-foreground",children:[d.footBefore,y,d.footAfter]})]})]})]})]})}var eM=a(42653),eC=a(30098),eT=a(41789),eE=a(49711);function eL(){var e;let{locale:t}=(0,z.Y)(),a=(null!==(e=P[t])&&void 0!==e?e:S).mobileAnnouncement;return(0,r.jsxs)("div",{className:"ear-card relative grid grid-cols-1 lg:grid-cols-[1.1fr_1fr] gap-8 lg:gap-16 items-center px-6 sm:px-10 lg:px-12 py-4 sm:py-6 lg:py-8",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"inline-flex items-center gap-1.5 rounded-full bg-action/10 border border-action/30 px-2.5 py-1 text-xs font-semibold text-action mb-5",children:[(0,r.jsx)(eC.A,{className:"h-3.5 w-3.5"}),a.badge]}),(0,r.jsxs)("h2",{className:"ear-title text-4xl sm:text-5xl font-bold tracking-tight",children:[a.titleBefore,(0,r.jsxs)("span",{className:"whitespace-nowrap",children:[a.titleMobileWord,(0,r.jsx)(y.default,{src:"/logos/app-icon.png",alt:a.appIconAlt,width:48,height:48,priority:!0,className:"lg:hidden inline-block align-middle ml-2 rounded-xl ring-1 ring-border shadow-md shadow-action/20"})]})]}),(0,r.jsx)("p",{className:"mt-5 text-lg leading-8 text-muted-foreground max-w-xl",children:a.body}),(0,r.jsxs)("div",{className:"mt-7 flex flex-wrap items-center gap-3",children:[(0,r.jsx)(eT.k5,{href:eE.qc,size:"lg"}),(0,r.jsx)(eT.x1,{href:eE.Wh,size:"lg"})]}),(0,r.jsx)("p",{className:"mt-5 text-sm text-muted-foreground",children:a.footnote})]}),(0,r.jsx)("div",{className:"hidden lg:flex items-center justify-center",children:(0,r.jsx)("div",{className:"rounded-[44px] overflow-hidden ring-1 ring-border shadow-2xl shadow-action/20",children:(0,r.jsx)(y.default,{src:"/logos/app-icon.png",alt:a.appIconAlt,width:280,height:280,priority:!0,className:"block"})})})]})}let eI=[{key:"mobile",labelOf:e=>e.carousel.slideMobile,render:()=>(0,r.jsx)(eL,{})},{key:"hero",labelOf:e=>e.carousel.slideHero,render:()=>(0,r.jsx)(Q,{})}];function eD(){var e;let t=(0,eM.I)(),{locale:a}=(0,z.Y)(),i=null!==(e=P[a])&&void 0!==e?e:S,[n,o]=s.useState(0),[l,d]=s.useState(!1);return s.useEffect(()=>{if(l||t)return;let e=window.setInterval(()=>{o(e=>(e+1)%eI.length)},6500);return()=>window.clearInterval(e)},[l,t]),(0,r.jsxs)("section",{className:"w-full my-6 sm:my-8","aria-roledescription":"carousel","aria-label":i.carousel.regionLabel,onMouseEnter:()=>d(!0),onMouseLeave:()=>d(!1),onFocusCapture:()=>d(!0),onBlurCapture:()=>d(!1),children:[(0,r.jsx)("div",{className:"relative grid overflow-hidden",children:eI.map((e,a)=>(0,r.jsx)(eF,{active:a===n,offset:a-n,reduceMotion:!!t,label:"".concat(e.labelOf(i)," (").concat(a+1,"/").concat(eI.length,")"),children:e.render()},e.key))}),(0,r.jsx)("div",{className:"mt-5 flex items-center justify-center gap-2.5",children:eI.map((e,t)=>(0,r.jsx)("button",{type:"button",onClick:()=>o(t),"aria-label":"".concat(i.carousel.showSlidePrefix).concat(e.labelOf(i)),"aria-current":t===n,className:"h-2.5 rounded-full transition-all duration-300 ".concat(t===n?"w-7 bg-primary":"w-2.5 bg-surface2 hover:bg-muted")},e.key))})]})}function eF(e){let{active:t,offset:a,reduceMotion:i,label:n,children:o}=e,l=s.useRef(null);return s.useEffect(()=>{let e=l.current;e&&(e.inert=!t)},[t]),(0,r.jsx)(v.P.div,{ref:l,className:"[grid-area:1/1] flex w-full items-center",role:"group","aria-roledescription":"slide","aria-label":n,"aria-hidden":!t,initial:!1,animate:{x:i?0:"".concat(100*a,"%"),opacity:t?1:0},transition:{duration:.6,ease:[.22,1,.36,1]},children:(0,r.jsx)("div",{className:"w-full",children:o})})}var eV=a(83509),eR=a(69323),eB=a(26164),e_=a(91834),eO=a(59136),eU=a(33943),eH=a(18384),eq=a(27825),eW=a(98867),eQ=a(99053);let eJ=[{icon:(0,r.jsx)(eV.A,{className:"h-5 w-5"}
1),title:"No Cooldown",description:"Free is 3 exercises every 8 hours. Pro is as many as you want, whenever you want."},{icon:(0,r.jsx)(eb.A,{className:"h-5 w-5"}),title:"165 Pro Levels",description:"Modes, melodic and harmonic minor, extended chords, functional harmony, polychords."},{icon:(0,r.jsx)(eR.A,{className:"h-5 w-5"}),title:"Six Quest Modes",description:"Functioneer, Harmonic Quest, Guido, Hybrid Lab, Polychordist and Slashmaster."},{icon:(0,r.jsx)(eB.A,{className:"h-5 w-5"}),title:"Open Mic",description:"Sing your answer, or play it on your own instrument. The app hears the note."},{icon:(0,r.jsx)(e_.A,{className:"h-5 w-5"}),title:"All Eight Instruments",description:"Rhodes, strings, harp, electric guitar, flute, clarinet and French horn."},{icon:(0,r.jsx)(ej.A,{className:"h-5 w-5"}),title:"Every Interval and Chord",description:"Compound intervals, altered and extended chords, every mode - in Practice too."},{icon:(0,r.jsx)(eO.A,{className:"h-5 w-5"}),title:"Deep Analytics",description:"Per-trainer accuracy, response times and session breakdowns, not just a score."},{icon:(0,r.jsx)(ew.A,{className:"h-5 w-5"}),title:"Leagues With History",description:"Weekly promotion and relegation, and the full record of how you got there."},{icon:(0,r.jsx)(eU.A,{className:"h-5 w-5"}),title:"Unlimited Duels",description:"Challenge anyone to the same questions and settle it on accuracy."},{icon:(0,r.jsx)(eH.A,{className:"h-5 w-5"}),title:"MIDI Keyboard",description:"Answer voicing levels by playing them in the browser instead of tapping."},{icon:(0,r.jsx)(eq.A,{className:"h-5 w-5"}),title:"Ear Coins Go Further",description:"Instruments come free with Pro, so your coins buy Timbres and boosts instead."},{icon:(0,r.jsx)(eW.A,{className:"h-5 w-5"}),title:"Priority Support",description:"A real reply from the musician who builds this, not a ticket queue."}],eZ={total:217,pro:165};function eY(){var e;let{locale:t}=(0,z.Y)(),a=(null!==(e=P[t])&&void 0!==e?e:S).pro,[i,o]=s.useState(eZ);return s.useEffect(()=>{let e=!1;return fetch("/api/curriculum-stats").then(e=>e.ok?e.json():null).then(t=>{!e&&t&&"number"==typeof t.total&&o({total:t.total,pro:t.pro})}).catch(()=>{}),()=>{e=!0}},[]),(0,r.jsxs)("section",{className:"relative overflow-hidden py-24",children:[(0,r.jsx)("div",{"aria-hidden":"true",className:"pointer-events-none absolute left-1/2 top-1/2 -z-10 h-[36rem] w-[36rem] -translate-x-1/2 -translate-y-1/2 rounded-full blur-3xl",style:{background:"rgb(var(--ear-warning-rgb) / 0.06)"}}),(0,r.jsx)("div",{className:"absolute inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-warning/40 to-transparent"}),(0,r.jsxs)("div",{className:"relative mx-auto max-w-7xl px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"mx-auto mb-16 max-w-2xl text-center",children:[(0,r.jsxs)("div",{className:"mb-4 inline-flex items-center gap-2 rounded-full border border-warning/30 bg-warning/15 px-4 py-2",children:[(0,r.jsx)(f.A,{className:"h-5 w-5 text-warning"}),(0,r.jsx)("span",{className:"text-sm font-medium text-warning",children:a.badge})]}),(0,r.jsx)("h2",{className:"ear-title mb-4 text-3xl font-bold sm:text-4xl",children:a.title}),(0,r.jsx)("p",{className:"text-lg text-muted-foreground",children:a.body})]}),(0,r.jsxs)("div",{className:"mx-auto max-w-5xl",children:[(0,r.jsx)("div",{className:"mb-8 grid gap-4 sm:grid-cols-2 lg:grid-cols-3",children:eJ.map((e,t)=>{var s,i;return(0,r.jsx)(v.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},transition:{delay:.06*Math.min(t,6)},className:"ear-card p-5 transition-transform hover:-translate-y-0.5",style:{"--hue":"var(--ear-warning-rgb)"},children:(0,r.jsxs)("div",{className:"flex items-start gap-4",children:[(0,r.jsx)("div",{className:"rounded-lg bg-warning/15 p-2 text-warning",children:e.icon}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"mb-1 font-semibold text-foreground",children:(null!==(s=a.features[t])&&void 0!==s?s:e).title}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:(null!==(i=a.features[t])&&void 0!==i?i:e).description})]})]})}
1,e.title)})}),(0,r.jsxs)(v.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"ear-card flex items-center justify-between p-6",children:[(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"font-display text-3xl font-bold text-foreground",children:i.total}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:a.statTotal})]}),(0,r.jsx)("div",{className:"h-12 w-px bg-border"}),(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"font-display text-3xl font-bold text-success",children:i.pro}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:a.statExclusive})]}),(0,r.jsx)("div",{className:"h-12 w-px bg-border"}),(0,r.jsxs)("div",{className:"text-center",children:[(0,r.jsx)("div",{className:"font-display text-3xl font-bold text-warning",children:"14"}),(0,r.jsx)("div",{className:"text-sm text-muted-foreground",children:a.statTrial})]})]}),(0,r.jsxs)(v.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0},className:"mt-8 flex flex-col gap-4 sm:flex-row",children:[(0,r.jsx)(n(),{href:"/pricing",className:"flex-1",children:(0,r.jsxs)(l.$,{className:"w-full rounded-xl bg-primary py-6 text-primary-foreground transition-all hover:bg-primary/90 hover:shadow-[0_0_24px_hsl(var(--primary)_/_0.35)]",children:[(0,r.jsx)(f.A,{className:"mr-2 h-5 w-5"}),a.ctaStartTrial,(0,r.jsx)(eQ.A,{className:"ml-2 h-5 w-5"})]})}),(0,r.jsx)(n(),{href:"/exercises",className:"flex-1",children:(0,r.jsx)(l.$,{variant:"outline",className:"w-full rounded-xl border-border py-6 hover:bg-white/[0.04]",children:a.ctaTryFree})})]}),(0,r.jsxs)("div",{className:"mt-8 flex items-center justify-center gap-6 text-sm text-muted-foreground",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eW.A,{className:"h-4 w-4 text-success"}),(0,r.jsx)("span",{children:a.footTrial})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(eW.A,{className:"h-4 w-4 text-success"}),(0,r.jsx)("span",{children:a.footCancel})]})]})]})]})]})}var eK=a(54749);let eG=["/testimonials/tom-medek.png","/testimonials/tom-smetana.png","/testimonials/zdenek-tomanek.png"];function e$(){var e;let{hasLoaded:t,userName:a}=(0,q.E)(),{locale:i}=(0,z.Y)(),h=null!==(e=P[i])&&void 0!==e?e:S,p=eg.releases[0].features.slice(0,3).map(e=>({label:e,type:h.evolution.featureTag})),g=s.useMemo(()=>(0,eE.m5)(),[]);return(0,r.jsxs)(r.Fragment,{children:[g.map((e,t)=>(0,r.jsx)(o.default,{id:"earonman-home-jsonld-".concat(t),type:"application/ld+json",strategy:"afterInteractive",children:JSON.stringify(e)},t)),(0,r.jsxs)("main",{className:"flex-grow flex flex-col items-center justify-center max-w-7xl w-full mx-auto px-4 sm:px-6 lg:px-8 py-12 relative z-10",children:[(0,r.jsxs)("div",{className:"relative w-full",children:[(0,r.jsx)("div",{className:"absolute -top-16 -left-8 text-6xl text-action/25 animate-float hidden sm:block z-20 opacity-0 animate-[float_6s_ease-in-out_infinite,fadeIn_0.5s_ease-out_3s_forwards]",style:{fontSize:"4rem"},children:"âª"}),(0,r.jsx)("div",{className:"absolute -bottom-16 -right-8 text-6xl text-secondary/25 animate-float hidden sm:block z-20 opacity-0 animate-[float_6s_ease-in-out_infinite,fadeIn_0.5s_ease-out_3.5s_forwards]",style:{fontSize:"4rem"},children:"â«"}),(0,r.jsx)("div",{className:"absolute top-0 right-1/4 text-6xl text-text-subtle/30 animate-float hidden sm:block z-20 opacity-0 animate-[float_6s_ease-in-out_infinite,fadeIn_0.5s_ease-out_4s_forwards]",style:{fontSize:"4rem"},children:"â©"})]}),(0,r.jsx)(eD,{}),(0,r.jsx)("section",{className:"w-full mt-20",children:(0,r.jsx)(W,{showHeader:!1,features:[{title:h.parallax.intervalTraining,link:"/features/intervals-practice",previewSlug:"intervals-practice"},{title:h.parallax.chordRecognition,link:"/features/chords-practice",previewSlug:"chords-practice"},{title:h.parallax.scaleMastery,link:"/features/scales-practice",previewSlug:"scales-practice"},{title:h.parallax.freePracticeMode,link:"/features/practice-mode",previewSlug:"practice-mode"},{title:h.parallax.structuredLessons,link:"/features/lessons",previewSlug:"lessons"},{title:h.parallax.jazzVoicings,link:"/features/jazz-voicings-practice",previewSlug:"jazz-voicings-practice"},{title:h.parallax.harmonicQuest,link:"/features/harmonic-quest",previewSlug:"harmonic-quest"},{title:h.parallax.polychordist,link:"/features/polychordist",previewSlug:"polychordist"}]})}),(0,r.jsxs)("section",{className:"relative w-full py-20",children:[(0,r.jsx)("div",{"aria-hidden":!0,
1className:"pointer-events-none absolute -top-24 left-1/2 -translate-x-1/2 h-[420px] w-[720px] max-w-full rounded-full blur-3xl opacity-[0.07] bg-action"}),(0,r.jsxs)("div",{className:"mx-auto max-w-5xl px-4 sm:px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center mb-10",children:[(0,r.jsx)("h2",{className:"ear-label text-[11px] !text-action",children:h.practiceMode.label}),(0,r.jsx)("p",{className:"mt-2 text-3xl sm:text-4xl font-bold ear-title tracking-tight",children:h.practiceMode.title}),(0,r.jsx)("p",{className:"mt-4 text-base sm:text-lg text-muted-foreground",children:h.practiceMode.body})]}),(0,r.jsx)(eK.PracticeModeEmbed,{isAuthed:t&&!!a,ctaHref:"/features/practice-mode",ctaLabel:h.practiceMode.cta})]})]}),(0,r.jsxs)("section",{className:"relative overflow-hidden py-24",children:[(0,r.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute -top-24 left-1/2 -translate-x-1/2 h-[420px] w-[720px] max-w-full rounded-full blur-3xl opacity-[0.07] bg-primary"}),(0,r.jsxs)("div",{className:"relative mx-auto max-w-7xl px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,r.jsx)("h2",{className:"ear-label text-[11px] !text-primary",children:h.founder.label}),(0,r.jsx)("p",{className:"mt-2 text-3xl sm:text-4xl font-bold ear-title tracking-tight text-center mb-12",children:h.founder.title})]}),(0,r.jsx)("div",{className:"mx-auto mt-16 max-w-4xl",children:(0,r.jsx)("div",{className:"ear-card p-8 sm:p-12",children:(0,r.jsxs)("div",{className:"relative z-10",children:[(0,r.jsx)("blockquote",{className:"text-xl font-medium leading-8 text-foreground sm:text-2xl sm:leading-9",children:h.founder.quote}),(0,r.jsxs)("figcaption",{className:"mt-8 flex items-center gap-x-4",children:[(0,r.jsx)("div",{className:"h-12 w-12 rounded-full bg-primary/20 p-0.5",children:(0,r.jsx)("div",{className:"h-full w-full rounded-full bg-card flex items-center justify-center",children:(0,r.jsx)("span",{className:"text-lg font-bold font-display text-primary",children:h.founder.initials})})}),(0,r.jsxs)("div",{className:"text-sm leading-6",children:[(0,r.jsx)("div",{className:"font-semibold text-foreground",children:h.founder.name}),(0,r.jsx)("div",{className:"text-muted-foreground",children:h.founder.role})]})]})]})})})]})]}),(0,r.jsxs)("section",{className:"w-full mt-20",children:[(0,r.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold ear-title tracking-tight text-center mb-12",children:h.featuresHeading}),(0,r.jsx)(ex,{})]}),(0,r.jsx)(eA,{}),(0,r.jsx)(eY,{}),(0,r.jsxs)("section",{className:"relative py-24",children:[(0,r.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute -top-24 left-1/2 -translate-x-1/2 h-[420px] w-[720px] max-w-full rounded-full blur-3xl op
1acity-[0.07] bg-secondary"}),(0,r.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,r.jsx)("h2",{className:"ear-label text-[11px] !text-secondary",children:h.evolution.label}),(0,r.jsx)("p",{className:"mt-2 text-3xl sm:text-4xl font-bold ear-title tracking-tight text-center mb-12",children:h.evolution.title}),(0,r.jsx)("p",{className:"mt-6 text-lg leading-8 text-muted-foreground",children:h.evolution.body})]}),(0,r.jsx)("div",{className:"mx-auto mt-16 max-w-5xl",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-8 lg:grid-cols-2 lg:gap-16",children:[(0,r.jsxs)("div",{className:"space-y-8",children:[(0,r.jsxs)("div",{className:"flex items-start gap-x-4",children:[(0,r.jsx)("div",{className:"flex-none",children:(0,r.jsx)("div",{className:"h-8 w-8 rounded-lg bg-action/10 flex items-center justify-center",children:(0,r.jsx)("div",{className:"h-2 w-2 rounded-full bg-action animate-pulse"})})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:h.evolution.continuousUpdatesTitle}),(0,r.jsx)("p",{className:"mt-2 text-base text-muted-foreground",children:h.evolution.continuousUpdatesBody})]})]}),(0,r.jsxs)("div",{className:"flex items-start gap-x-4",children:[(0,r.jsx)("div",{className:"flex-none",children:(0,r.jsx)("div",{className:"h-8 w-8 rounded-lg bg-ear-accent/10 flex items-center justify-center",children:(0,r.jsx)("div",{className:"h-2 w-2 rounded-full bg-ear-accent"})})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-lg font-semibold text-foreground",children:h.evolution.communityDrivenTitle}),(0,r.jsx)("p",{className:"mt-2 text-base text-muted-foreground",children:h.evolution.communityDrivenBody})]})]})]}),(0,r.jsx)("div",{className:"relative",children:(0,r.jsxs)("div",{className:"ear-card p-8",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("h4",{className:"text-base font-semibold text-foreground",children:h.evolution.recentUpdatesTitle}),(0,r.jsxs)("p",{className:"text-sm text-muted-foreground",children:[h.evolution.latestInPrefix,eg.currentVersion]})]}),(0,r.jsx)("div",{className:"rounded-full bg-success/10 p-2",children:(0,r.jsx)("div",{className:"h-2 w-2 rounded-full bg-success animate-pulse"})})]}),(0,r.jsx)("div",{className:"mt-6 space-y-4",children:p.map((e,t)=>(0,r.jsxs)(v.P.div,{initial:{opacity:0,x:-10},animate:{opacity:1,x:0},transition:{delay:.1*t},className:"flex items-start justify-between gap-3",children:[(0,r.jsxs)("div",{className:"flex items-start gap-x-3 flex-1 min-w-0",children:[(0,r.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-action mt-2 flex-shrink-0 shadow-[0_0_8px_2px_rgb(var(--ear-action-rgb)_/_0.55)]"}),(0,r.jsx)("span",{className:"text-sm text-foreground leading-relaxed",children:e.label})]}),(0,r.jsx)("span",{className:"inline-flex items-center rounded-full bg-action/10 px-2 py-1 text-xs font-medium text-action flex-shrink-0",children:e.type})]},t))}),(0,r.jsxs)(n(),{href:"/release-notes",className:"mt-6 flex items-center justify-center gap-2 text-sm text-action hover:text-action/80 transition-colors group",children:[(0,r.jsx)("span",{children:h.evolution.viewAllUpdates}),(0,r.jsx)(d.A,{className:"h-3.5 w-3.5 group-hover:translate-x-0.5 transition-transform"})]})]})})]})})]})]}),(0,r.jsxs)("section",{className:"relative py-24",children:[(0,r.jsx)("div",{"aria-hidden":!0,className:"pointer-events-none absolute -top-24 left-1/2 -translate-x-1/2 h-[420px] w-[720px] max-w-full rounded-full blur-3xl op
1acity-[0.07] bg-ear-pink"}),(0,r.jsx)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8",children:(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,r.jsx)("p",{className:"mt-2 text-3xl sm:text-4xl font-bold ear-title tracking-tight text-center mb-12",children:h.testimonials.title}),(0,r.jsx)("p",{className:"mt-6 text-lg leading-8 text-muted-foreground",children:h.testimonials.body})]})}),(0,r.jsx)("div",{className:"mt-16",children:(0,r.jsx)(G,{autoplay:!0,testimonials:h.testimonials.items.map((e,t)=>({...e,src:eG[t]}))})})]}),(0,r.jsx)("section",{className:"relative py-24",children:(0,r.jsxs)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8",children:[(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,r.jsx)("p",{className:"mt-2 text-3xl sm:text-4xl font-bold ear-title tracking-tight text-center mb-12",children:h.community.title}),(0,r.jsx)("p",{className:"mt-6 text-lg leading-8 text-muted-foreground",children:h.community.body})]}),(0,r.jsx)("div",{className:"mx-auto mt-16 max-w-5xl",children:(0,r.jsxs)("div",{className:"grid grid-cols-1 gap-8 sm:grid-cols-2",children:[(0,r.jsxs)("div",{className:"group relative ear-card p-8 transition-all",style:{"--hue":"var(--ear-action-rgb)"},children:[(0,r.jsx)("div",{className:"absolute -inset-px rounded-2xl bg-gradient-to-r from-action to-ear-accent opacity-0 transition-opacity group-hover:opacity-10"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"flex items-center gap-x-3",children:[(0,r.jsx)("div",{className:"rounded-lg bg-action/10 p-2",children:(0,r.jsx)(c.A,{className:"h-6 w-6 text-action"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold leading-8 text-foreground",children:h.community.discord.title})]}),(0,r.jsx)("p",{className:"mt-4 text-base leading-7 text-muted-foreground",children:h.community.discord.intro}),(0,r.jsx)("ul",{className:"mt-6 space-y-3",children:h.community.discord.bullets.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start gap-x-3",children:[(0,r.jsx)("div",{className:"flex-none",children:(0,r.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-action mt-2"})}),(0,r.jsx)("span",{className:"text-sm leading-6 text-muted-foreground",children:e})]},t))}),(0,r.jsx)("div",{className:"mt-8",children:(0,r.jsx)(l.$,{asChild:!0,variant:"outline",className:"w-full border-border bg-transparent text-action hover:bg-action/10",children:(0,r.jsxs)("a",{href:"https://discord.gg/fxRJVC9S9N",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2",children:[(0,r.jsx)(c.A,{className:"w-4 h-4"}),h.community.discord.cta,(0,r.jsx)(d.A,{className:"w-4 h-4"})]})})})]})]}),(0,r.jsxs)("div",{className:"group relative ear-card p-8 transition-all",style:{"--hue":"236, 72, 153"},children:[(0,r.jsx)("div",{className:"absolute -inset-px rounded-2xl bg-gradient-to-r from-pink-500 to-orange-500 opacity-0 transition-opacity group-hover:opacity-10"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"flex items-center gap-x-3",children:[(0,r.jsx)("div",{className:"rounded-lg bg-pink-500/10 p-2",children:(0,r.jsx)(m.A,{className:"h-6 w-6 text-pink-400"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold leading-8 text-foreground",children:h.community.instagram.title})]}),(0,r.jsx)("p",{className:"mt-4 text-base leading-7 text-muted-foreground",children:h.community.instagram.intro}),(0,r.jsx)("ul",{className:"mt-6 space-y-3",children:h.community.instagram.bullets.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start gap-x-3",children:[(0,r.jsx)("div",{className:"flex-none",children:(0,r.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-pink-500 mt-2"})}),(0,r.jsx)("span",{className:"text-sm leading-6 text-muted-foreground",children:e})]},t))}),(0,r.jsx)("div",{className:"mt-8",children:(0,r.jsx)(l.$,{asChild:!0,variant:"outline",className:"w-full border-border bg-transparent text-pink-300 hover:bg-pink-500/10",children:(0,r.jsxs)("a",{href:"https://www.instagram.com/earonman",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2",children:[(0,r.jsx)(m.A,{className:"w-4 h-4"}),h.community.instagram.cta,(0,r.jsx)(d.A,{className:"w-4 h-4"})]})})})]})]}),(0,r.jsxs)("div",{className:"group relative ear-card p-8 transition-all",style:{"--hue":"239, 68, 68"},children:[(0,r.jsx)("div",{className:"absolute -inset-px rounded-2xl bg-gradient-to-r from-red-500 to-red-600 opacity-0 transition-opacity group-hover:opacity-10"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"flex items-center gap-x-3",children:[(0,r.jsx)("div",{className:"rounded-lg bg-red-500/10 p-2",children:(0,r.jsx)(u.A,{className:"h-6 w-6 text-red-400"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold leading-8 text-foreground",children:h.community.youtube.title})]}),(0,r.jsx)("p",{className:"mt-4 text-base leading-7 text-muted-foreground",children:h.community.youtube.intro}),(0,r.jsx)("ul",{className:"mt-6 space-y-3",children:h.community.youtube.bullets.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start gap-x-3",children:[(0,r.jsx)("div",{className:"flex-none",children:(0,r.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-red-500 mt-2"})}),(0,r.jsx)("span",{className:"text-sm leading-6 text-muted-foreground",children:e})]},t))}),(0,r.jsx)("div",{className:"mt-8",children:(0,r.jsx)(l.$,{asChild:!0,variant:"outline",className:"w-full border-border bg-transparent text-red-300 hover:bg-red-500/10",children:(0,r.jsxs)("a",{href:"https://www.youtube.com/@Earonman",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2",children:[(0,r.jsx)(u.A,{className:"w-4 h-4"}),h.community.youtube.cta,(0,r.jsx)(d.A,{className:"w-4 h-4"})]})})})]})]}),(0,r.jsxs)("div",{className:"group relative ear-card p-8 transition-all",style:{"--hue":"79, 124, 247"},children:[(0,r.jsx)("div",{className:"absolute -inset-px rounded-2xl bg-gradient-to-r from-blue-500 to-blue-600 opacity-0 transition-opacity group-hover:opacity-10"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"flex items-center gap-x-3",children:[(0,r.jsx)("div",{className:"rounded-lg bg-blue-500/10 p-2",children:(0,r.jsx)(x.A,{className:"h-6 w-6 text-blue-400"})}),(0,r.jsx)("h3",{className:"text-lg font-semibold leading-8 text-foreground",children:h.community.facebook.title})]}),(0,r.jsx)("p",{className:"mt-4 text-base leading-7 text-muted-foreground",children:h.community.facebook.intro}),(0,r.jsx)("ul",{className:"mt-6 space-y-3",children:h.community.facebook.bullets.map((e,t)=>(0,r.jsxs)("li",{className:"flex items-start gap-x-3",children:[(0,r.jsx)("div",{className:"flex-none",children:(0,r.jsx)("div",{className:"h-1.5 w-1.5 rounded-full bg-blue-500 mt-2"})}),(0,r.jsx)("span",{className:"text-sm leading-6 text-muted-foreground",children:e})]},t))}),(0,r.jsx)("div",{className:"mt-8",children:(0,r.jsx)(l.$,{asChild:!0,variant:"outline",className:"w-full border-border bg-transparent text-blue-300 hover:bg-blue-500/10",children:(0,r.jsxs)("a",{href:"https://www.facebook.com/earonmanapp",target:"_blank",rel:"noopener noreferrer",className:"flex items-center justify-center gap-2",children:[(0,r.jsx)(x.A,{className:"w-4 h-4"}),h.community.facebook.cta,(0,r.jsx)(d.A,{className:"w-4 h-4"})]})})})]})]})]})})]})}),(0,r.jsx)("section",{className:"relative py-24",children:(0,r.jsx)("div",{className:"mx-auto max-w-7xl px-6 lg:px-8",children:(0,r.jsxs)("div",{className:"mx-auto max-w-2xl text-center",children:[(0,r.jsx)("h2",{className:"text-3xl sm:text-4xl font-bold ear-title tracking-tight text-center mb-12",children:h.finalCta.title}),(0,r.jsx)("p",{className:"mt-6 text-lg leading-8 text-muted-foreground",children:h.finalCta.body}),(0,r.jsx)("div",{className:"mt-10 flex items-center justify-center gap-x-6",children:t&&a&&"User"!==a?(0,r.jsx)(n(),{href:"/exercises",children:(0,r.jsx)(l.$,{className:"rounded-md bg-primary px-8 py-3 text-lg font-semibold text-primary-foreground shadow-sm hover:bg-primary/90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",children:h.finalCta.startExercises})}):(0,r.jsx)(n(),{href:"/auth/register",children:(0,r.jsx)(l.$,{className:"rounded-md bg-primary px-8 py-3 text-lg font-semibold text-primary-foreground shadow-sm hover:bg-primary/90 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary",children:h.finalCta.createFreeAccount})})})]})})})]})]})}},40947:(e,t,a)=>{"use strict";a.d(t,{E:()=>o});var r=a(95155);a(12115);var s=a(31027),i=a(21567);let n=(0,s.F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function o(e){let{className:t,variant:a,...s}=e;return(0,r.jsx)("div",{className:(0,i.cn)(n({variant:a}),t),...s})}},71568:(e,t,a)=>{"use strict";a.d(t,{BT:()=>d,Wu:()=>c,ZB:()=>l,Zp:()=>n,aR:()=>o});var r=a(95155),s=a(12115),i=a(21567);let n=s.forwardRef((e,t)=>
1{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",a),...s})});n.displayName="Card";let o=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("flex flex-col space-y-1.5 p-6",a),...s})});o.displayName="CardHeader";let l=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("h3",{ref:t,className:(0,i.cn)("text-2xl font-semibold leading-none tracking-tight",a),...s})});l.displayName="CardTitle";let d=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("p",{ref:t,className:(0,i.cn)("text-sm text-muted-foreground",a),...s})});d.displayName="CardDescription";let c=s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("p-6 pt-0",a),...s})});c.displayName="CardContent",s.forwardRef((e,t)=>{let{className:a,...s}=e;return(0,r.jsx)("div",{ref:t,className:(0,i.cn)("flex items-center p-6 pt-0",a),...s})}).displayName="CardFooter"},79112:(e,t,a)=>{"use strict";a.d(t,{E:()=>u,X:()=>m});var r=a(95155),s=a(12115),i=a(69483),n=a(19223),o=a(35906),l=a(25848),d=a(2615);let c=(0,s.createContext)(void 0),m=e=>{let{children:t}=e,{data:m,status:u}=(0,d.useSession)(),x=null==m?void 0:m.user.id,{data:h,isLoading:p,error:g}=(0,i.m)(x),{data:v,isLoading:y,error:b}=(0,n.X)(x,!!(null==m?void 0:m.user.createdAt)),f=(0,o.jE)(),j=new Date,w=(0,s.useMemo)(()=>{var e,t;return{...(null==m?void 0:m.user)?{name:m.user.name,createdAt:m.user.createdAt,profilePictureUrl:m.user.profilePictureUrl,subscription:(null===(e=m.user)||void 0===e?void 0:e.subscription)||null}:{},...v,...h,subscription:(null==m?void 0:null===(t=m.user)||void 0===t?void 0:t.subscription)||(null==v?void 0:v.subscription)||(null==h?void 0:h.subscription)||null}},[m,v,h]),N=(0,s.useCallback)(e=>{f.setQueryData(["dynamicUserData"],t=>({...t,xp:e}))},[f]),k=(0,s.useCallback)(e=>{f.setQueryData(["dynamicUserData"],t=>({...t,level:e}))},[f]),z=(0,s.useCallback)(e=>{f.setQueryData(["dynamicUserData"],t=>({...t,badges:e}))},[f]),S=(0,l.n)({mutationFn:async e=>{try{if(!(await fetch("/api/user/update-progress",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({xp:e})})).ok)throw Error("Failed to update XP")}catch(t){if(!navigator.onLine||t instanceof TypeError){let{queueMutation:t}=await a.e(14402).then(a.bind(a,14402));await t("/api/user/update-progress","POST",{xp:e},"update-xp-".concat(e));return}throw t}},onSuccess:()=>f.invalidateQueries({queryKey:["dynamicUserData"]})}),P=async e=>{await S.mutateAsync(e)},A=(0,l.n)({mutationFn:async e=>{try{if(!(await fetch("/api/user/update-progress",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({level:e})})).ok)throw Error("Failed to update level")}catch(t){if(!navigator.onLine||t instanceof TypeError){let{queueMutation:t}=await a.e(14402).then(a.bind(a,14402));await t("/api/user/update-progress","POST",{level:e},"update-level-".concat(e));return}throw t}},onSuccess:()=>f.invalidateQueries({queryKey:["dynamicUserData"]})}),M=async e=>{await A.mutateAsync(e)},C="loading"===u||p||y,T=g||b,E=!!w&&"loading"!==u,L=(0,s.useMemo)(()=>({userName:(null==w?void 0:w.name)||"User",xp:(null==w?void 0:w.xp)||0,level:(null==w?void 0:w.level)||1,badges:(null==w?void 0:w.badges)||[],createdAt:(()=>{if(!(null==w?void 0:w.createdAt))return"";if("string"==typeof w.createdAt)return w.createdAt;try{return w.createdAt.toISOString()}catch(e){return console.error("Error formatting createdAt:",e),""}})(),profilePictureUrl:(null==w?void 0:w.profilePictureUrl)||null,country:(null==w?void 0:w.country)||null,subscription:(null==w?void 0:w.subscription)||null,isLoading:C,error:T,lastUpdated:j,hasLoaded:E,setXp:N,setLevel:k,setBadges:z,updateXp:P,updateLevel:M,refetch:()=>{f.invalidateQueries({queryKey:["dynamicUserData"]}),f.invalidateQueries({queryKey:["staticUserData"]})},forceRefresh:()=>{f.invalidateQueries({queryKey:["dynamicUserData"]}),f.invalidateQueries({queryKey:["staticUserData"]})}}),[w,C,T,j,N,k,z,P,M,f,E]);return(0,r.jsx)(c.Provider,{value:L,children:t})},u=()=>{let e=(0,s.useContext)(c);if(!e)throw Error("useUserDataContext must be used within a UserDataProvider");return e}},54749:(e,t,a)=>{"use strict";a.r(t),a.d(t,{PracticeModeEmbed:()=>h});var r=a(95155);a(12115);var s=a(2178),i=a(96644),n=a(48686),o=a(11536),l=a(19507),d=a(51889),c=a(28100),m=a(26656),u=a(37879),x=a(81904);function h(e){var t;let{isAuthed:a=!1,ctaHref:s,ctaLabel:i}=e,{locale:n}=(0,u.Y)(),o=null!==(t=x.W[n])&&void 0!==t?t:x.y;return(0,r.jsx)(m.g,{label:o.practiceMode.label,tier:"free",mode:"preview",isAuthed:a,description:o.practiceMode.description,ctaHref:s,ctaLabel:i,children:(0,r.jsx)(g,{})})}
1let p=[{id:"intervals",icon:(0,r.jsx)(o.BHn,{}),iconColor:"text-green-600 dark:text-green-400",isPremium:!1},{id:"chords",icon:(0,r.jsx)(l.gKD,{}),iconColor:"text-purple-600 dark:text-purple-400",isPremium:!1},{id:"scales",icon:(0,r.jsx)(l.smp,{}),iconColor:"text-blue-600 dark:text-blue-400",isPremium:!1},{id:"jazz-voicings",icon:(0,r.jsx)(l.UIf,{}),iconColor:"text-orange-600 dark:text-orange-400",isPremium:!1},{id:"slashmaster",icon:(0,r.jsx)(o.VMg,{}),iconColor:"text-teal-600 dark:text-teal-400",isPremium:!0},{id:"functioneer",icon:(0,r.jsx)(d.lOu,{}),iconColor:"text-violet-600 dark:text-violet-400",isPremium:!0},{id:"harmonic-quest",icon:(0,r.jsx)(o.RBv,{}),iconColor:"text-cyan-600 dark:text-cyan-400",isPremium:!0},{id:"guido",icon:(0,r.jsx)(d.QUN,{}),iconColor:"text-rose-600 dark:text-rose-400",isPremium:!0},{id:"hybrid-lab",icon:(0,r.jsx)(d.RUY,{}),iconColor:"text-amber-600 dark:text-amber-400",isPremium:!0},{id:"polychordist",icon:(0,r.jsx)(c.dYx,{}),iconColor:"text-pink-600 dark:text-pink-400",isPremium:!0}];function g(){var e;let{locale:t}=(0,u.Y)(),a=null!==(e=x.W[t])&&void 0!==e?e:x.y,n=p.map(e=>({...e,...a.practiceMode.cards[e.id]}));return(0,r.jsxs)("div",{className:"relative w-full px-4 py-6 sm:px-6 sm:py-8 bg-gradient-to-br from-neutral-50 via-white to-neutral-100 dark:from-neutral-950 dark:via-neutral-900 dark:to-neutral-950",children:[(0,r.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_30%_20%,rgba(99,102,241,0.08),transparent_50%)] pointer-events-none"}),(0,r.jsx)("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_70%_80%,rgba(168,85,247,0.06),transparent_50%)] pointer-events-none"}),(0,r.jsxs)("div",{className:"relative",children:[(0,r.jsxs)("div",{className:"text-center mb-4 sm:mb-6",children:[(0,r.jsx)("h3",{className:"text-2xl sm:text-3xl font-bold ear-title",children:a.practiceMode.heading}),(0,r.jsx)("p",{className:"mt-1 text-sm text-gray-500 dark:text-gray-400",children:a.practiceMode.subheading})]}),(0,r.jsxs)(s.P.div,{initial:{opacity:0,y:12},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-40px"},transition:{duration:.4},className:"max-w-2xl mx-auto p-4 mb-5 rounded-2xl bg-gradient-to-br from-slate-900/50 to-blue-900/30 dark:from-slate-900/80 dark:to-blue-900/40 border border-blue-500/20 text-center",children:[(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 mb-1.5",children:[(0,r.jsx)(i.A,{className:"w-4 h-4 text-amber-400"}),(0,r.jsx)("h4",{className:"text-sm sm:text-base font-semibold text-white",children:a.practiceMode.bannerTitle})]}),(0,r.jsx)("p",{className:"text-[11px] sm:text-xs text-gray-300 line-clamp-2",children:a.practiceMode.bannerBody}),(0,r.jsx)("div",{className:"mt-2.5 inline-flex items-center rounded-md bg-gradient-to-r from-blue-600 to-emerald-600 text-white px-3 py-1.5 text-xs font-semibold",children:a.practiceMode.bannerCta})]}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-2.5 sm:gap-3 max-w-4xl mx-auto",children:n.map((e,t)=>(0,r.jsx)(v,{type:e,delay:.03*t},e.id))})]})]})}function v(e){var t;let{type:a,delay:i}=e,{locale:o}=(0,u.Y)(),l=null!==(t=x.W[o])&&void 0!==t?t:x.y,d=a.isPremium;return(0,r.jsx)(s.P.div,{initial:{opacity:0,y:10},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-40px"},transition:{duration:.35,delay:i},className:"relative rounded-xl border ".concat(d?"border-slate-200/50 dark:border-slate-800/40 bg-white/65 dark:bg-slate-900/45 opacity-70":"border-slate-200/50 dark:border-slate-800/50 bg-white/75 dark:bg-slate-900/60 backdrop-blur-xl transition-all duration-300 hover:-translate-y-0.5 hover:shadow-[0_18px_40px_-24px_rgba(59,130,246,0.6)]"," p-3 sm:p-4"),children:(0,r.jsxs)("div",{className:"flex items-start gap-3 h-full",children:[(0,r.jsx)("div",{className:"flex items-center justify-center shrink-0 ".concat(d?"opacity-60":""," ").concat(a.iconColor),children:(0,r.jsx)("span",{className:"text-[28px] sm:text-[36px] leading-none",children:a.icon})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,r.jsxs)("div",{className:"flex items-center gap-1.5 mb-1",children:[(0,r.jsx)("h5",{className:"text-base sm:text-lg font-bold ear-title truncate",children:a.title}),d&&(0,r.jsxs)("span",{className:"inline-flex items-center gap-0.5 rounded-md bg-blue-500/20 text-blue-400 border border-blue-500/30 px-1.5 py-0.5 text-[9px] font-semibold uppercase tracking-wider shrink-0",children:[(0,r.jsx)(n.A,{className:"w-2.5 h-2.5"}),l.practiceMode.proBadge]})]}),(0,r.jsx)("p",{className:"text-[11px] sm:text-xs line-clamp-2 ".concat(d?"text-gray-500 dark:text-gray-500":"text-gray-500 dark:text-gray-400"),children:a.description})]})]})})}},98312:(e,t,a)=>{"use strict";a.d(t,{z:()=>o});var r=a(11094),s=a(2818);let i=a.g,n={log:["error"],datasources:{db:{url:s.env.DATABASE_URL}}},o=i.prisma||new r.PrismaClient(n),l=async()=>{try{await o.$disconnect()}catch(e){console.error("Error during Prisma Client disconnect:",e)}};i.prismaListenersAdded||(i.prismaListenersAdded=!0,s.on("beforeE
1xit",l),s.on("SIGINT",l),s.on("SIGTERM",l),s.on("uncaughtException",async e=>{console.error(e),await l(),s.exit(1)}),s.on("unhandledRejection",async e=>{console.error(e),await l(),s.exit(1)}))},69483:(e,t,a)=>{"use strict";a.d(t,{m:()=>o});var r=a(39556),s=a(98312),i=a(76196);let n=async e=>{let t=await s.z.user.findUnique({where:{id:parseInt(e)},select:{id:!0,xp:!0,level:!0,streak:!0,maxStreak:!0,dailyCorrectAnswers:!0,lastDailyReset:!0,earCoins:!0,userBadges:{select:{badge:{select:{id:!0,name:!0,description:!0,imageUrl:!0,xpRequired:!0}}}}}});if(!t)throw Error("User not found");let a=new Date,r=t.dailyCorrectAnswers,n=t.lastDailyReset;if(!n||(0,i.m)(a,n)>0){let e=await s.z.user.update({where:{id:t.id},data:{dailyCorrectAnswers:0,lastDailyReset:a},select:{dailyCorrectAnswers:!0,lastDailyReset:!0}});r=e.dailyCorrectAnswers,n=e.lastDailyReset}return{...t,dailyCorrectAnswers:r,lastDailyReset:n,badges:t.userBadges.map(e=>e.badge)}},o=e=>(0,r.I)({queryKey:["user","dynamic",e],queryFn:()=>{if(!e)throw Error("Missing user ID");return n(e)},enabled:!!e})},19223:(e,t,a)=>{"use strict";a.d(t,{X:()=>i});var r=a(39556),s=a(41580);let i=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,r.I)({queryKey:["user","static",e],queryFn:()=>{if(!e)throw Error("Missing user ID");return(0,s.m)("/api/user/static")},enabled:!!e&&!t,staleTime:864e5})}},41580:(e,t,a)=>{"use strict";a.d(t,{j:()=>s,m:()=>r});let r=async(e,t)=>{let a=await fetch(e,t);if(!a.ok){let e=await a.text();throw Error("API error: ".concat(e))}return a.json()},s=async e=>{}}},e=>{var t=t=>e(e.s=t);e.O(0,[66711,67672,55897,39204,61181,48173,2178,11555,39556,2615,87970,28824,47670,73624,86615,82903,27659,37879,16747,56519,29793,28441,71238,77358],()=>t(7676)),_N_E=e.O()}]);
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.