@ihabdevteam/core 0.118.0 → 0.119.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  \uC2E0\uB8B0\uB97C \uC313\uACE0
3
3
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8",kakao:"KAKAO Talk \uC624\uD508\uCC44\uD305"},policy:{title:"\uC815\uCC45",terms:"\uC774\uC6A9\uC57D\uAD00",privacy:"\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68"},ceo:"\uB300\uD45C",address:"\uC8FC\uC18C",support:"\uACE0\uAC1D\uC13C\uD130",ceoName:"\uD55C\uC9C0\uD61C",addressValue:"\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638"},p1={trainingPhone:{topic:"\uD143\uBC2D\uAC00\uAFB8\uAE30",prev:"\uC774\uC804",next:"\uB2E4\uC74C",speed:"\uBE60\uB974\uAE30 3",noiseType:"\uC640\uAE00\uC640\uAE00",settings:"\uC124\uC815",start:{caption:"\uC544\uB798 \uD50C\uB808\uC774(\u25B6) \uBC84\uD2BC\uC744 \uB20C\uB7EC \uBB38\uC7A5\uC744 \uC798 \uB4E4\uC5B4\uBCF4\uC138\uC694. \uC798 \uB4E4\uC73C\uC2E0 \uB4A4 \uBB38\uC7A5\uC744 \uD655\uC778\uD558\uC138\uC694."},feedback:{caption:"\uC798 \uD0A4\uC6B4 \uBAA8\uC885\uC744 \uD143\uBC2D\uC5D0 \uC2EC\uACE0 \uBE44\uB2D0\uC744 \uC798 \uB36E\uC5B4 \uC90D\uB2C8\uB2E4."},done:{heardWell:"\uC798 \uB4E4\uB9B0 \uBB38\uC7A5",listenAgain:"\uD55C \uBC88 \uB354 \uB4E3\uAE30"}}},h1={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},m1={options:"\uD6C8\uB828 \uC635\uC158",difficulty:"\uB09C\uC774\uB3C4",exclude:"\uC81C\uC678",chosung:"\uCD08\uC131",excludeOptions:{none:"\uC5C6\uC74C",noImage:"\uC774\uBBF8\uC9C0 \uC5C6\uC74C"}},b1={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},g1={phaseWordDownload:"\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC",phaseImageCheck:"\uC774\uBBF8\uC9C0 \uD655\uC778",phasePairAnalysis:"\uB2E8\uC5B4\uC30D \uBD84\uC11D",downloadingCount:"{{n}}\uAC1C \uB2E4\uC6B4\uB85C\uB4DC \uC911",checkingPage:"{{page}}\uD398\uC774\uC9C0 \uBAA9\uB85D \uD655\uC778 \uC911",imageCount:"{{done}} / {{total}}\uAC1C"},f1={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},v1={ariaLabel:"\uC120\uD0DD \uD0ED"},x1={ariaLabel:"\uD0ED"},_1={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},C1={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},y1={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"},reason:{notLoggedIn:"\uB85C\uADF8\uC778\uC774 \uD544\uC694\uD569\uB2C8\uB2E4."},list:{title:"\uBC1B\uC740 \uC219\uC81C"},status:{expired:"\uB9CC\uB8CC\uB428",done:"\uC644\uB8CC {{count}}\uD68C \xB7 {{date}}",notDone:"\uBBF8\uC644\uB8CC"}},w1={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30",crossword:"\uAC00\uB85C\uC138\uB85C"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",count:"\uC804\uCCB4",done:"\uC644\uB8CC",remaining:"\uBBF8\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},filter:{countSuffix:" \uD6C8\uB828"},time:{countLabel:"{{n}}\uD68C \uD6C8\uB828",empty:"\uD6C8\uB828 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},daily:{title:"\uC624\uB298\uC758 \uB4E3\uAE30 \uAE30\uB85D",empty:"\uC644\uB8CC\uD55C \uD68C\uCC28\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4."},crossword:{title:"\uAC00\uB85C\uC138\uB85C\uD034\uC988",empty:"\uC644\uB8CC\uD55C \uB808\uBCA8\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",trainingType:{LISTEN_IN_NOISE:"\uC18C\uC74C \uD558 \uBB38\uC7A5",SHORT_STORY:"\uC9E7\uC740 \uC774\uC57C\uAE30",LONG_STORY:"\uAE34 \uC774\uC57C\uAE30",ORDERING_SENTENCE:"\uBB38\uC7A5 \uC21C\uC11C\uD654"}},k1={publish:{descPlaceholder:"\uB9D0\uADC0\uC790\uB8CC\uC2E4\uC5D0 \uD45C\uC2DC\uD560 \uD55C \uC904 \uC124\uBA85 (\uC120\uD0DD)"},import:"\uB0B4 \uD6C8\uB828\uC5D0 \uAC00\uC838\uC624\uAE30",publisher:"\uAC8C\uC2DC\uC790",time:{justNow:"\uBC29\uAE08 \uC804",minutesAgo:"{{n}}\uBD84 \uC804",hoursAgo:"{{n}}\uC2DC\uAC04 \uC804",daysAgo:"{{n}}\uC77C \uC804",weeksAgo:"{{n}}\uC8FC \uC804",monthsAgo:"{{n}}\uAC1C\uC6D4 \uC804",yearsAgo:"{{n}}\uB144 \uC804"},badge:{shared:"\uB9D0\uADC0\uC790\uB8CC\uC2E4"}},A1={manage:{unit:"\uAC74"}},S1={cancelLabel:"\uCDE8\uC18C"},B1={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},N1={panelTitle:"\uD6C8\uB828 \uC624\uB2F5",viewItems:"\uBB38\uD56D",viewTypes:"\uC720\uD615",colPending:"\uB0A8\uC740 \uAC83",colTrend:"\uBCC0\uD654",colRuns:"\uD310",unitItem:"\uAC1C",skippedOnly:"\uC61B \uAE30\uB85D {{n}}\uAC74\uC740 \uBB34\uC5C7\uC744 \uD47C \uAC83\uC778\uC9C0 \uC548 \uB0A8\uC544 \uC788\uC5B4 \uC148\uC5D0\uC11C \uBE90\uC2B5\uB2C8\uB2E4.",summaryLabel:"\uC313\uC778 \uAE30\uB85D",summaryValue:"{{items}}\uBB38\uD56D \xB7 \uC544\uC9C1 \uBABB \uC7A1\uC740 \uAC83 {{pending}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C",picked:"\u2192 {{what}}",typeClear:"\uB2E4 \uC7A1\uC558\uC5B4\uC694",typePending:"{{total}}\uAC1C \uC911 {{pending}}\uAC1C \uB0A8\uC74C",flat:"\uBCC0\uD654 \uC5C6\uC74C",runs:"{{count}}\uD310",avgDuration:"\uD3C9\uADE0 {{sec}}\uCD08"},D1={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},j1={panelTitle:"\uB2E8\uC5B4\uD45C \uCC44\uC810",viewWords:"\uB0B1\uB9D0",viewTables:"\uD45C",colLatest:"\uB9C8\uC9C0\uB9C9",colTrend:"\uBCC0\uD654",unitTime:"\uD68C",summaryLabel:"\uC313\uC778 \uCC44\uC810",summaryValue:"{{times}}\uD68C \xB7 \uB0B1\uB9D0 {{words}}\uAC1C",nextLabel:"\uB2E4\uC74C\uC5D0 \uBCFC \uAC83",nextCount:"{{count}}\uAC1C",allClear:"\uC9C0\uB09C\uBC88\uC5D0 \uBAA8\uB450 \uB9DE\uD614\uC2B5\uB2C8\uB2E4.",times:"{{count}}\uD68C",flat:"\uBCC0\uD654 \uC5C6\uC74C",recentLabel:"\uCD5C\uADFC \uCC44\uC810",nextCountCapped:"{{total}}\uAC1C \uC911 {{shown}}\uAC1C"},E1={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},T1={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},L1={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},M1={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},$1={devNone:"\uBC1C\uB2EC \uC790\uB8CC \uC5C6\uC74C",place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},R1={common:Dg,calendar:jg,passCard:Eg,searchField:Tg,rating:Lg,colorPicker:Mg,dropdown:$g,accordion:Rg,header:Pg,nav:zg,settings:Ig,usage:Og,account:Fg,help:Hg,training:Wg,trainingSettings:Vg,customers:Gg,payment:Ug,coupons:Yg,visits:qg,company:Kg,trainingType:Zg,myWordTraining:Xg,myWordTable:Jg,keyWords:Qg,wordTable:e1,wordSearch:t1,wordPrint:a1,topic:o1,accessLinkManager:r1,login:n1,trainingPlanRun:i1,device:s1,manager:l1,wordPairs:c1,game:d1,footer:u1,landing:p1,date:h1,trainingSetPage:m1,wordTrainingPreview:b1,wordData:g1,textField:f1,segmentedControl:v1,tabs:x1,fileUpload:_1,avatar:C1,myHomework:y1,trainingStatus:w1,store:k1,homework:A1,inquiry:S1,progress:B1,trainingMiss:N1,table:D1,wordScore:j1,topBanner:E1,datePicker:T1,report:L1,tooltip:M1,phonemeProfile:$1},P1={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",search:"Search",empty:"No data.",yes:"Yes",no:"No",all:"All",none:"None",days_one:"{{count}} day",days_other:"{{count}} days",loadMore:"Load More",retry:"Try Again",prevPage:"Previous page",nextPage:"Next page",play:"Play",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",menu:"Menu",resetSelection:"Reset Selection",pageSizeLabel:"Show {{n}}",totalCountPrefix:"Total: ",totalCountSuffix:"",expand:"Expand",collapse:"Collapse",popup:"Popup",more:"More",codeBlock:"Code block",totalPrefix:"",copyCode:"Copy code",copied:"Copied",col:{problem:"Question"},phonetics:{place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"},vowel:{frontHigh:"Front high vowel",backHighUnrounded:"Back high unrounded vowel",backHighRounded:"Back high rounded vowel",frontMid:"Front mid vowel",backMidUnrounded:"Back mid unrounded vowel",backMidRounded:"Back mid rounded vowel",low:"Low vowel"},glide:{j:"j-glide",w:"w-glide",velar:"\u0270-glide"}}},z1={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],yearMonth:"{{month}}/{{year}}",prevMonth:"Previous month",addOnDate:"Add a visit on {{date}}",nextMonth:"Next month",prevWeek:"Previous week",nextWeek:"Next week",legend:{visited:"Visited",scheduled:"Scheduled",noVisit:"No Show"},periodSelect:"Period unit"},I1={planSuffix:"Plan",labeledPlan:"{{label}} Plan",couponCode:"Pass Code",specialLabel:"Open Special",unitDay:"d",unitYear:"yr",remainingDay:"{{n}}d left",remainingHour:"{{n}}h left",remainingMinute:"{{n}}m left",remainingSecond:"{{n}}s left",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},O1={clearAriaLabel:"Clear search"},F1={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},H1={selected:"selected"},W1={placeholder:"Select"},V1={collapse:"Collapse",expand:"Expand"},G1={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu"},U1={mainMenu:"Main menu",bottomNav:"Bottom navigation",goToManager:"Go to Malgwi Manager",goToMalgwi:"Go to Malgwi",modeLabelManager:"Malgwi Manager",modeLabelMalgwi:"Malgwi",training:"Training",settings:"Settings",notifications:"Notifications",account:"Account",help:"Help",debug:"Debug",coupons:"Coupons",topic:"By Topic",trainingType:"By Training Type",wordPairs:"Word Pairs",wordSearch:"Word Search",wordTable:"Word Table Creator",company:"Company Info",more:"More",moreMenu:"More menu"},Y1={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},q1={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},K1={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password"},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},Z1={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},X1={settings:"Settings",start:{title:"Start Word Training",description:"Select a training type below to begin"},difficulty:{tooltip:"The easiest difficulty is 'Random', the hardest is 'Initial Consonant Difference'."},contrast:{label:"Contrast",type:"Contrast Type",count:"Contrast Count",diffPhonemeCount:"Total differing phonemes",n:"{{n}}"},filter:{random:"Random",trainOnset:"Onset",trainVowel:"Vowel",trainCoda:"Coda",phonemeGroup:"Training phonemes",noLimit:"Any",codaExclude:"Exclude",gradeLabel:"Grade",excludeImageInfo:"Only words with images: keeps only results with a registered word image.",sameStructureInfo:"Only same phoneme structure: keeps only pairs where the correct and wrong answers share the same syllable structure (length, batchim, etc.).",selectSection:"Select",excludeImage:"Only words with images",sameStructure:"Only same phoneme structure"},noQuestions:"No questions available.",countQuestions:"{{n}} questions",countSentences:"{{n}} sentences",comingSoon:"Coming Soon",nextQuestion:"Next",noiseLevelTitle:"Noise Level",noiseTypeTitle:"Noise Type",playVolumeTitle:"Volume",playSpeedTitle:"Speed",meter:{sentence:"Playback",noise:"Noise",toggle:"Show Audio Meter"},viewResult:"View Results",problemNotice:"Problem {{n}}.",trainingSettingsTitle:"Training Settings",sentencePreview:"Sentence Preview",notHeard:"Didn't hear it.",heardWell:"Heard it well.",confirmTitle:"Check the sentence and select whether you heard it.",noSoundWaveform:"Waveform is not shown for sound-comparison questions.",noise:{level:{none:"None",weak:"Weak",medium:"Medium",strong:"Strong",veryStrong:"Very Strong"},type:{none:"None",default:"Default",street:"Street",buzz:"Buzzing",restaurant:"Restaurant"}},listenTitle:"Please listen to the sentence.",listenButton:"Listen",playSound:"Play Sound",playAll:"Play All",stop:"Stop",preview:"Preview",next:"Next",completed:"Completed",selected:"Selected",nthSelected:"Selection {{n}}",fontSizeMin:"Font size is at the minimum.",fontSizeMax:"Font size is at the maximum.",fontSizeDecrease:"Decrease font size",fontSizeIncrease:"Increase font size",toggleBackground:"Toggle background",cardInstructions:"Look at the word card, listen to the sound, and check it.",noCards:"No cards.",audioFetchError:"Failed to load the sound source.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{eyebrow:"Training Complete",title:"You've finished all the training!",scoreAria:"{{correct}} / {{total}} questions",elapsed:"Time Elapsed",summary:"You heard {{correct}} item(s) correctly.",tableAriaLabel:"Per-question judgement",colJudge:"Judgement",colAnswerSelected:"Answer \xB7 Selected",colAnswer:"Answer",colSelected:"Selected",heardWell:"Heard well",notHeard:"Didn't hear",notJudged:"Not judged",replay:"Replay",done:"Done",viewResult:"View Results"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen"},J1={totalCount:" training bundles",sort:{customers:"Customers"},copyLink:"Copy Link",removeLink:"Remove Link",linkRemoved:"Link removed.",linkSaveFirst:"Please save the training bundle first.",linkSaveFirstHint:"You can only create a shared link from a saved training bundle.",linkCopySelect:"Copy blocked \u2014 link selected. Press Ctrl/\u2318+C to copy.",nameRequired:"Please enter a training bundle name.",itemRequired:"Please add at least one training item.",randomAdd:"Random Add",menu:{publish:"Post to Store",duplicate:"Duplicate Training Bundle",edit:"Edit Training Bundle",move:"Move Group",rename:"Rename"},itemCount:"Number of Items",renameGroup:"Rename Group"},Q1={totalCount:" customers",loadError:"Failed to load list",basicInfo:{editTooltip:"Edit"},member:{placeholder:"Email or phone",link:"Link",linking:"Linking\u2026"},device:{title:"Hearing Devices",addTooltip:"Add New",addButton:"Add device",listTooltip:"View List",listTitle:" Device List",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",release:"Release",historyTitle:"Hearing device history"},schedule:{title:"Upcoming Visits",addTooltip:"Add Schedule",listTooltip:"View All",empty:"No upcoming visits",registerTitle:" Register Schedule",memoPlaceholder:"Enter a memo for this visit."},visitHistory:{title:"Visit History",addTooltip:"Add Visit",empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",visits:{title:"Visits"},trainingRecord:{title:"Customer Training Records"},status:{trainingSubtitle:"Training Status"},detail:{session:{completedFmt:"Done {{done}}/{{total}} \xB7 {{duration}}"},visitSuffix:" visits"},homework:{active:"Active",copied:"Link copied.",copy:"Copy Link",inactive:"Inactive",title:"Homework Progress"}},e0={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},t0={title:"Coupons",subtitle:"Enter a coupon code or view your coupons",input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply",error:{invalid:"Invalid coupon code.",alreadyUsed:"This coupon has already been used."},success:{applied:'"{{name}}" coupon applied.'},section:{owned:"My Coupons"},status:{used:"Used",available:"Available"}},a0={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},o0={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},r0={title:"Training by Type",subtitle:"Select the training type you want",listenInNoise:{title:"Sentence Listening in Noise",desc:"Train sentence comprehension in various noise environments."},shortStory:{title:"Short Story Listening",desc:"Listen to short stories and understand the content."},longStory:{title:"Long Story Listening",desc:"Focus on listening to long stories and grasp the content."},orderingSentence:{title:"Sentence Ordering",desc:"Arrange heard sentences in the correct order."},SAME_SOUND_PICK:{label:"Listen & Pick Same Sound",sub:"Pick the word card that matches what you heard."},SAME_OR_DIFF:{label:"Same or Different?",sub:"Decide whether the two sounds are the same or different."},HEAR_AND_PICK_SAME:{label:"Hear & Match Word",sub:"Pick the word card that matches the sound you heard."},HEAR_AND_PICK_INCLUDED:{label:"Find Word Containing Sound",sub:"Pick the word card that contains the syllable you heard."},STARTS_WITH_SAME_SOUND:{label:"Find Word Starting with Same Sound",sub:"Pick a word that starts with the same sound as what you heard."},LISTEN_AND_REMEMBER_ORDER:{label:"Listen & Recall Order",sub:"Select the cards in the order you heard the three words."},MERGE_2_SYLLABLES:{label:"Combine 2 Syllables",sub:"What word do two syllables make?"},MERGE_3_SYLLABLES:{label:"Combine 3 Syllables",sub:"What word do three syllables make?"},MERGE_2_PHONEMES:{label:"Combine 2 Phonemes",sub:"What sound do two phonemes make?"},MERGE_3_PHONEMES:{label:"Combine 3 Phonemes",sub:"What sound do three phonemes make?"},DROP_1_FROM_2SYLL:{label:"Drop 1 Syllable from 2-Syllable",sub:"What sound remains when you remove a syllable from a 2-syllable word?"},DROP_1_FROM_3SYLL:{label:"Drop 1 Syllable from 3-Syllable",sub:"What sound remains when you remove a syllable from a 3-syllable word?"},DROP_PART_FROM_COMPOUND:{label:"Drop Part of Compound Word",sub:"What word remains when you remove part of a compound word?"},DROP_FINAL_CONSONANT_FROM_1SYLL:{label:"Drop Final Consonant",sub:"What sound remains when you remove the final consonant?"},REMOVE_CONSONANT_AND_IDENTIFY_PHONEME:{label:"Drop Consonant",sub:"What sound remains when you remove the consonant?"},CHANGE_1_SYLL_IN_2SYLL:{label:"Change 1 Syllable (2-Syllable)",sub:"Change one syllable in a 2-syllable word to make a new word."},CHANGE_1_SYLL_IN_3SYLL:{label:"Change 1 Syllable (3-Syllable)",sub:"Change one syllable in a 3-syllable word to make a new word."},CHANGE_1_PHONEME_IN_1SYLL:{label:"Change 1 Phoneme (1-Syllable)",sub:"Change one phoneme in a 1-syllable word to make a new sound."},CHANGE_1_PHONEME_IN_2SYLL:{label:"Change 1 Phoneme (2-Syllable)",sub:"Change one phoneme in a 2-syllable word to make a new word."}},n0={comingSoon:"Word training is coming soon."},i0={colName:"Table Name",open:"Open",countSuffix:" tables",addCard:"Add Word Table Card",cardsEmpty:"No word table cards created yet.",menu:{publishStore:"Post to Training Store",unpublishStore:"Remove from Training Store"},newBadge:"Newly created",tab:{cards:"Word Table Cards",tables:"Word Tables"}},s0={title:"Key Words",empty:"No key words available."},l0={defaultName:"Word Table",title:"Word Table Builder",subtitle:"Set columns and add words to build a table.",filterTitle:"Table Settings",filter:{composition:"Composition",image:"Image",word:"Word",standardPron:"Standard Pronunciation",colloquialPron:"Colloquial Pronunciation",paperOrientation:"Paper Orientation",landscape:"Landscape",portrait:"Portrait",columns:"Columns",column:"{{count}} col",itemsPerPageWord:"Words per page",itemsPerPagePair:"Pairs per page",itemsPerPageOption:"{{count}}",pageIndicator:"{{current}} / {{total}}",pageNumber:"Page Number",pageNumberLeft:"Left",pageNumberCenter:"Center",pageNumberRight:"Right",border:"Border",cutLine:"Cut Line",show:"Show",hide:"Hide",dotted:"Dotted",corner:"Corner"},addWord:"Add",wordInfo:"Info for {{word}}",emptyItems:"Please add at least one word.",load:"Load",openNewWindow:"Open in New Window",saveButton:"Save",saveAsNewButton:"Save as New",print:"Print",popupBlocked:"Popup was blocked. Please allow popups in your browser settings.",printFileNameSingle:"Word Table",printFileNamePair:"Contrast Pair Table",save:{title:"Save Word Table",nameLabel:"Name",desc:"Enter a name for the word table.",placeholder:"Enter a title for this word table.",descriptionLabel:"Description",descriptionPlaceholder:"Enter a description for this word table.",duplicateName:"This name is already in use.",nameRequired:"Please enter a table name.",autoFillHint:" (Press Tab or Space to autofill)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",store:{badge:"Training Store"},card:{sub:"Word Table Card",empty:"No word tables in this card."},toast:{renameError:"Failed to rename",saveError:"Failed to save",deleteError:"Failed to delete",duplicateError:"Failed to duplicate",saveSuccess:"Word table saved."},scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",button:"Score",pickTitle:"Who are you scoring?",pickSubtitle:"Choose the customer who trained with \u201C{{name}}\u201D.",pickSearch:"Search by name or phone",pickEmpty:"No customers registered.",pickNoMatch:"No matching customer.",pickAgain:"Choose another",scoringFor:"Scoring {{name}}",none:"Tap a cell to mark \u25CB \xB7 \u25B3 \xB7 \u2715.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage:"Builds a new table from the {{count}} cells {{name}} got wrong or partial. Correct ones are left out.",reviewConfirm:"Create review table",reviewDescription:"Cells marked wrong or partial in \u201C{{name}}\u201D \u2014 {{count}} of them.",reviewCreated:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage:"You marked {{count}} cells but have not saved. Leaving discards them.",discardConfirm:"Discard and leave"}},c0={editBanner:{message:"Saving will update the word table you're editing."},filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",syllables:"Syllables",syllable:"{{n}} Syll.",syllable5plus:"5+ Syllables",partOfSpeech:"Part of Speech",pos:{noun:"Noun/Numeral",verb:"Verb/Adjective",modifier:"Adverb/Determiner"},wordType:"Word Type",type:{native:"Native Korean",sino:"Sino-Korean",foreign:"Loanword",mixed:"Hybrid"},exclude:"Exclude",excludeNoImage:"No Image"},searchButton:"Search",resultUnit:"words",remaining:"{{count}} remaining",resultDisc:"Select {{unit}}. Up to {{max}} items. ({{selected}}/{{max}})",resultTitlePrefix:"",resultTitleSuffix:" {{unit}} found.",emptyResult:"No results found.",groupCount:"{{count}}",sort:{aria:"Sort",match:"Best Match",ganada:"A\u2013Z \u2191",ganadaDesc:"A\u2013Z \u2193",syllable:"Syllables \u2191",syllableDesc:"Syllables \u2193",grade:"Grade \u2191",gradeDesc:"Grade \u2193"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},d0={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},u0={title:"By Topic",subtitle:"Select a topic to start listening training",noiseTitle:"Sentence Listening in Noise",shortStoryTitle:"Short Story Listening",FOOD:"Food",HLTH:"Health",WETH:"Weather",PRSN:"People",KRCT:"Korean Culture",STRY:"Stories",LOCA:"Locations",SOAR:"Society & Arts",NTSC:"Nature & Science",SPRT:"Sports",sub:{TRKRFD:"Traditional Korean Food",MDKRFD:"Modern Korean Food",WRLDFD:"World Cuisine",MTRFRT:"Ingredients & Fruits",GEFDKL:"Food Facts",HTETHB:"Healthy Eating",DISILL:"Diseases",EXCISE:"Exercise",GEHTKL:"Health Facts",GESSKL:"Seasons",SNWRAN:"Snow & Rain",WTHFCT:"Weather Forecast",GEWTKL:"Weather Facts",JODYPS:"Joseon Dynasty",MDKRPS:"Modern Korea",THKDPS:"Three Kingdoms",WRLART:"World Artists",WRLPSN:"World Figures",KRLANG:"Korean Language",TRPLCT:"Traditional Games",HERITG:"Heritage",EVTFES:"Events & Festivals",GECTKL:"General Knowledge",FRYTAL:"Fairy Tales",AMZING:"Amazing Stories",DAYSTR:"Everyday Stories",KRLDMK:"Korean Landmarks",SELNMK:"Seoul Landmarks",WRDTRB:"World Travel",NAVIGT:"Navigation",KRSOCI:"Korea",ECONEW:"Economy & News",GENART:"Arts",GELFKL:"Life Tips",ANIMAL:"Animals",PLANTS:"Plants",ETHPLT:"Earth",TOLELC:"Tools & Electronics",GESCKL:"Science Facts",INVDSP:"Individual Sports",MARART:"Martial Arts",TEAMSP:"Team Sports",FOOTBL:"Soccer",GESPKL:"Sports Facts"}},p0={maxUses:"Max uses (leave blank for unlimited)",redirect:"Redirect URL (leave blank for app home)",creating:"Creating\u2026",create:"Create link",created:"\u2713 Link created",copied:"Copied!",copy:"Copy",loading:"Loading\u2026",empty:"No links created yet.",uses:"Used {{count}} times",expiresAt:"Expires: {{date}}",createdAt:"Created: {{date}}",confirmDelete:"Delete this link?",deactivate:"Deactivate",delete:"Delete",status:{active:"Active",expired:"Expired",inactive:"Inactive"}},h0={passwordPlaceholder:"Enter password"},m0={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",validationError:{brandAndProduct:"Please enter brand and product name."},addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove"},b0={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",daily:"Daily",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"},subscriptionStatus:{active:"{{pct}}% Active",expired:"{{pct}}% Expired",unused:"{{pct}}% Unused"}},g0={editBanner:{message:"Saving will update the contrast pair table you're editing."},phonemeSelect:{title:"Phoneme Selection",vs:"vs"},caution:"Caution",mode:{include:"Phoneme Include",pick:"Phoneme Contrast",contrast:"Specify Contrast",infoTitle:"Contrast Mode",infoInclude:"Include \u2014 finds words containing all selected phonemes, plus their minimal pair.",infoPick:"Contrast \u2014 matches only if the selected phoneme is the actual point of difference in the pair.",infoContrast:"Specify Contrast \u2014 directly choose phonemes for the base word and the contrasting word to find pairs."},count:"{{n}}",input:{char:"Choose Letters",pron:"Choose Sound",infoTitle:"Input mode",infoChar:"Choose Letters \u2014 finds words by the selected phonemes (spelling), then finds their standard-pronunciation contrast pairs.",infoPron:"Choose Sound \u2014 finds standard-pronunciation contrast pairs directly from the selected phonemes."},phonemeN:"Syllable {{n}}",phonemeSingleLabel:"Syllable",phonemeContrastSingleLabel:"Contrast Syllable",ordinals:["First","Second","Third","Fourth"],phonemeOrdinalLabel:"{{ordinal}} Syllable",phonemeContrastOrdinalLabel:"Contrast {{ordinal}} Syllable",composition:"Answer Word Composition",syllableCount:"Syllables",syllableN:"{{n}} syll.",syllableNPlus:"{{n}}+ syll.",onset:"Onset",vowel:"Vowel",coda:"Coda",filter:{searchOptionsTitle:"Contrast Settings",searchModeLabel:"Contrast Mode",countLabel:"Input Syllable Count",inputModeLabel:"Input mode",phonemeOrder:"Input Syllable Position",phonemeOrderInfo:["Match: the pair must differ at exactly the same position (syllable).","Any: the differing position doesn't matter."],orderAny:"Any",orderMatch:"Match",difficultyInfo:"Reflects the National Institute of Korean Language's basic vocabulary grade.",selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},searchLabel:{error:"Failed to load data",loading:"Loading\u2026"},confirmMessage:"The word table with {{count}} selected {{unit}} will be lost.",resetOptions:"Reset Options",phonemeContrast:"Contrast Syllable {{n}}",infoNotes:["The preview character is an example of the selected phoneme combination. The actual search covers all words containing the phoneme.","Initial consonant '\u3147' cannot be selected. \u3147 at the start of a word is effectively silent.","If only onset and coda are selected, the vowel is automatically displayed as '\u314F'.","Increasing the phoneme count searches for minimal pairs between each phoneme."]},f0={sentenceTyping:{roundCount:"{{rounds}} rounds \xB7 {{timeLimit}}s each"},wordDefense:{me:"Me"},dictation:{title:"Dictation",desc:"Practice writing down exactly what you hear.",comingSoon:"Coming soon: audio playback, input field, answer comparison"},result:{heading:"Level {{number}} Answer",retry:"Try Again"},common:{accuracy:"{{pct}}% accuracy"},soundMatch:{title:"Sound Match",desc:"Quickly match words or sentences that share the same sound.",comingSoon:"Coming soon: play button, timer, score tracking"},orderSequence:{title:"Sentence Ordering",desc:"Arrange scattered sentence fragments in the correct order.",comingSoon:"Coming soon: sentence sets, ordering interface"},speedListen:{title:"Speed Listen",desc:"A challenge game to count the number of words in a sentence within a time limit.",comingSoon:"Coming soon: time limit, scoreboard"},noiseChallenge:{title:"Noise Challenge",desc:"Practice distinguishing sentences amid background noise.",comingSoon:"Coming soon: various noise levels, score tracking"},fastListen:{title:"Fast Listen",desc:"Listen to short sentences at speed and select the key word.",comingSoon:"Coming soon: speed by difficulty, timer"},shadowing:{title:"Shadowing",desc:"Practice pronunciation and intonation by repeating sentences aloud.",comingSoon:"Coming soon: playback, recording, comparison feedback"},phonemeHunt:{title:"Phoneme Hunt",desc:"Find words that contain a specific phoneme (sound).",comingSoon:"Coming soon: phoneme filter, hint feature"}},v0={lead:`IHAB builds trust
4
4
  through sound
5
- and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},x0={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},_0={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},C0={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},y0={answer:"Answer",distractor:"Distractor"},w0={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},k0={clearAriaLabel:"Clear input"},A0={ariaLabel:"Select tab"},S0={ariaLabel:"Tabs"},B0={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},N0={ariaLabel:"User avatar"},D0={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},j0={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},E0={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},T0={manage:{unit:"item(s)"}},L0={cancelLabel:"Cancel"},M0={subtitle:"Select a topic to start listening practice."},$0={steps:"Step {{current}} of {{total}}"},R0={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},P0={resetColumns:"Reset column widths"},z0={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},I0={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},O0={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},F0={previewRegion:"Report preview \u2014 scrollable sideways"},H0={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},W0={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},V0={common:P1,calendar:z1,passCard:I1,searchField:O1,rating:F1,colorPicker:H1,dropdown:W1,accordion:V1,header:G1,nav:U1,settings:Y1,usage:q1,account:K1,help:Z1,training:X1,trainingSettings:J1,customers:Q1,payment:e0,coupons:t0,visits:a0,company:o0,trainingType:r0,myWordTraining:n0,myWordTable:i0,keyWords:s0,wordTable:l0,wordSearch:c0,wordPrint:d0,topic:u0,accessLinkManager:p0,login:h0,device:m0,manager:b0,wordPairs:g0,game:f0,footer:v0,landing:x0,date:_0,trainingSetPage:C0,wordTrainingPreview:y0,wordData:w0,textField:k0,segmentedControl:A0,tabs:S0,fileUpload:B0,avatar:N0,myHomework:D0,trainingStatus:j0,store:E0,homework:T0,inquiry:L0,trainingPlanRun:M0,progress:$0,trainingMiss:R0,table:P0,wordScore:z0,topBanner:I0,datePicker:O0,report:F0,tooltip:H0,phonemeProfile:W0};const jr="0.118.0",Lo=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],co="ko",Vn="ihab_display_language";function qc(){try{const e=localStorage.getItem(Vn);if(e&&Lo.some(t=>t.code===e))return e}catch{}return co}function G0(e){try{localStorage.setItem(Vn,e)}catch{}}function Kc(e){try{document.documentElement.lang=e}catch{}}Ca.on("languageChanged",Kc),Kc(qc()),Ca.use(me.initReactI18next).init({resources:{ko:{translation:R1},en:{translation:V0}},lng:qc(),fallbackLng:co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Zc=l.createContext({locale:co,supportedLocales:Lo});function U0(){return l.useContext(Zc)}function Y0({locale:e=co,children:t}){return l.useEffect(()=>{const a=Lo.find(r=>r.code===e)?e:co;Ca.language!==a&&Ca.changeLanguage(a)},[e]),o.jsx(Zc.Provider,{value:{locale:e,supportedLocales:Lo},children:t})}function _e(...e){return e.filter(Boolean).join(" ")}var q0=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__emoji{font-size:40px;line-height:1}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);height:40px;width:40px}.ihabdevteam-core-scope .empty-state__title{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__message{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__hint{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}.ihabdevteam-core-scope .empty-state--compact{padding:var(--spacing-page) var(--spacing-m);padding-block:56px}";ae(q0);const Xc=new Set,Jc=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Gn(e,...t){!Jc||Xc.has(e)||(Xc.add(e),console.warn(...t))}/**
5
+ and aids recovery.`,site:{title:"Site",malgwi:"Malgwi",soundDirection:"Sound Direction System",vrSoundDirection:"VR Sound Direction System",hearingTest:"Hearing Test Pro"},sns:{title:"SNS",naverBlog:"Naver Blog",kakao:"KAKAO Talk Open Chat"},policy:{title:"Policy",terms:"Terms of Service",privacy:"Privacy Policy"},ceo:"CEO",address:"Address",support:"Support",ceoName:"Ji-hye Han",addressValue:"302, 3F, Haechan Bldg, 32 Siocheong-gil, Chuncheon, Gangwon, Korea"},x0={trainingPhone:{topic:"Gardening",prev:"Prev",next:"Next",speed:"Speed 3",noiseType:"Crowd noise",settings:"Settings",start:{caption:"Press the play (\u25B6) button below and listen carefully. After listening, check the sentence."},feedback:{caption:"Plant the well-grown seedlings in the garden bed and cover them carefully with plastic film."},done:{heardWell:"Heard clearly",listenAgain:"Listen again"}}},_0={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},C0={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},y0={answer:"Answer",distractor:"Distractor"},w0={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},k0={clearAriaLabel:"Clear input"},A0={ariaLabel:"Select tab"},S0={ariaLabel:"Tabs"},B0={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},N0={ariaLabel:"User avatar"},D0={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"},reason:{notLoggedIn:"Login required."},list:{title:"Received Homework"},status:{expired:"Expired",done:"Done {{count}}\xD7 \xB7 {{date}}",notDone:"Not done"}},j0={weekly:{title:"Weekly Training",daily:"Daily Listening",crossword:"Crossword"},homework:{title:"Homework Progress",totalRate:"Overall rate",count:"Total",done:"Done",remaining:"Remaining"},today:{tooltipTotal:"Total",tooltipDone:"Done"},filter:{countSuffix:" sessions"},time:{countLabel:"{{n}} sessions",empty:"No training records"},daily:{title:"Today's Listening Record",empty:"No completed sessions"},crossword:{title:"Crossword Quiz",empty:"No completed levels"},visit:{title:"Linked Visit Records"},detail:"Details",trainingType:{LISTEN_IN_NOISE:"Sentence in Noise",SHORT_STORY:"Short Story",LONG_STORY:"Long Story",ORDERING_SENTENCE:"Sentence Ordering"}},E0={import:"Add to my trainings",publisher:"Publisher",time:{justNow:"just now",minutesAgo:"{{n}}m ago",hoursAgo:"{{n}}h ago",daysAgo:"{{n}}d ago",weeksAgo:"{{n}}w ago",monthsAgo:"{{n}}mo ago",yearsAgo:"{{n}}y ago"},badge:{shared:"Store"},publish:{descPlaceholder:"One-line description for the Training Store (optional)"}},T0={manage:{unit:"item(s)"}},L0={cancelLabel:"Cancel"},M0={subtitle:"Select a topic to start listening practice."},$0={steps:"Step {{current}} of {{total}}"},R0={panelTitle:"Training misses",viewItems:"Items",viewTypes:"Types",colPending:"Left",colTrend:"Change",colRuns:"Runs",unitItem:" items",skippedOnly:"{{n}} older record(s) were excluded \u2014 they do not say what was answered.",summaryLabel:"Recorded",summaryValue:"{{items}} items \xB7 {{pending}} still missed",nextLabel:"Next to work on",nextCount:"{{count}}",nextCountCapped:"{{shown}} of {{total}}",picked:"\u2192 {{what}}",typeClear:"All caught up",typePending:"{{pending}} of {{total}} left",flat:"no change",runs:"{{count}} run(s)",avgDuration:"{{sec}}s avg"},P0={resetColumns:"Reset column widths"},z0={panelTitle:"Word table scores",viewWords:"Words",viewTables:"Tables",colLatest:"When",colTrend:"Change",unitTime:" times",summaryLabel:"Scored",summaryValue:"{{times}} times \xB7 {{words}} words",nextLabel:"Focus next",nextCount:"{{count}}",allClear:"All correct last time.",times:"{{count}}x",flat:"no change",recentLabel:"Recent scorings",nextCountCapped:"{{shown}} of {{total}}"},I0={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},O0={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},F0={previewRegion:"Report preview \u2014 scrollable sideways"},H0={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},W0={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},V0={common:P1,calendar:z1,passCard:I1,searchField:O1,rating:F1,colorPicker:H1,dropdown:W1,accordion:V1,header:G1,nav:U1,settings:Y1,usage:q1,account:K1,help:Z1,training:X1,trainingSettings:J1,customers:Q1,payment:e0,coupons:t0,visits:a0,company:o0,trainingType:r0,myWordTraining:n0,myWordTable:i0,keyWords:s0,wordTable:l0,wordSearch:c0,wordPrint:d0,topic:u0,accessLinkManager:p0,login:h0,device:m0,manager:b0,wordPairs:g0,game:f0,footer:v0,landing:x0,date:_0,trainingSetPage:C0,wordTrainingPreview:y0,wordData:w0,textField:k0,segmentedControl:A0,tabs:S0,fileUpload:B0,avatar:N0,myHomework:D0,trainingStatus:j0,store:E0,homework:T0,inquiry:L0,trainingPlanRun:M0,progress:$0,trainingMiss:R0,table:P0,wordScore:z0,topBanner:I0,datePicker:O0,report:F0,tooltip:H0,phonemeProfile:W0};const jr="0.119.0",Lo=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],co="ko",Vn="ihab_display_language";function qc(){try{const e=localStorage.getItem(Vn);if(e&&Lo.some(t=>t.code===e))return e}catch{}return co}function G0(e){try{localStorage.setItem(Vn,e)}catch{}}function Kc(e){try{document.documentElement.lang=e}catch{}}Ca.on("languageChanged",Kc),Kc(qc()),Ca.use(me.initReactI18next).init({resources:{ko:{translation:R1},en:{translation:V0}},lng:qc(),fallbackLng:co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Zc=l.createContext({locale:co,supportedLocales:Lo});function U0(){return l.useContext(Zc)}function Y0({locale:e=co,children:t}){return l.useEffect(()=>{const a=Lo.find(r=>r.code===e)?e:co;Ca.language!==a&&Ca.changeLanguage(a)},[e]),o.jsx(Zc.Provider,{value:{locale:e,supportedLocales:Lo},children:t})}function _e(...e){return e.filter(Boolean).join(" ")}var q0=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__emoji{font-size:40px;line-height:1}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);height:40px;width:40px}.ihabdevteam-core-scope .empty-state__title{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__message{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__hint{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}.ihabdevteam-core-scope .empty-state--compact{padding:var(--spacing-page) var(--spacing-m);padding-block:56px}";ae(q0);const Xc=new Set,Jc=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Gn(e,...t){!Jc||Xc.has(e)||(Xc.add(e),console.warn(...t))}/**
6
6
  * @license lucide-react v1.38.0 - ISC
7
7
  *
8
8
  * This source code is licensed under the ISC license.
@@ -977,7 +977,7 @@ ${w.badge}`:w.badge:void 0;if(k&&d(w.code))return null;if(!w.badge&&!u)return m(
977
977
  \uC544\uC774\uCF58 + \uD3F4\uBC31)\uC5D0 \uB3D9\uC77C\uD558\uAC8C \uC801\uC6A9\uD558\uB824\uBA74 !important\uAC00 \uBD88\uAC00\uD53C\uD568. */.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg,.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg *{stroke:currentColor!important;stroke-width:2px!important;stroke-width:var(--icon-grid-menu-button-stroke-width,2px)!important;vector-effect:non-scaling-stroke}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg{height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg{display:block;height:28px;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{background-color:currentColor;display:inline-block;height:28px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-image{display:block;height:28px;-o-object-fit:contain;object-fit:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{align-items:center;display:inline-flex;flex-direction:column;gap:6px}.ihabdevteam-core-scope .icon-grid-menu__button-label{color:var(--color-darkGray);overflow-wrap:break-word;word-break:keep-all}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected{animation:sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-main);border-color:transparent;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected .icon-grid-menu__button-icon{color:#fff}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-wrapper{gap:4px;margin:4px 8px;width:56px}.ihabdevteam-core-scope .icon-grid-menu--medium .icon-grid-menu__button-wrapper{margin-left:6px;margin-right:6px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon{font-size:20px;height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-image,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-mask,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg svg{height:20px;width:20px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-label{font-size:12px;line-height:1.3}@media (min-width:1024px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 12px;width:80px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:28px;height:68px;width:68px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:28px;width:28px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 10px;width:64px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:24px;height:58px;width:58px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:24px;width:24px}}@media (max-width:767px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:var(--spacing-xs);width:50px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:20px;width:20px}}`;ae($8);function R8(e){const{category:t={},isSelected:a=!1,onClick:r}=e||{},n=t?.key?` icon-grid-menu__button--${t.key}`:"",i=l.useId();return o.jsxs("div",{className:`icon-grid-menu__button-wrapper${n}`,children:[o.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,onClick:a?void 0:r,"aria-pressed":a,"aria-labelledby":i,disabled:a,children:o.jsx(We,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),o.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function Cb(e){const{categories:t=[],selected:a,onSelect:r,size:n="medium"}=e||{},i=a??(t&&t[0]?.key)??null,[s,c]=l.useState(i??null);l.useEffect(()=>{a!=null&&c(a)},[a]);const d=l.useRef(r),u=l.useRef(s),m=l.useRef(a!==void 0);l.useEffect(()=>{!m.current&&u.current&&typeof d.current=="function"&&d.current(u.current)},[]);const h=l.useCallback(p=>{const g=s===p?null:p;c(g),r?.(g)},[s,r]);return o.jsx("div",{className:`icon-grid-menu icon-grid-menu--${n}`,children:(t||[]).map(p=>o.jsx(R8,{category:p,isSelected:s===p.key,onClick:()=>h(p.key)},p.key))})}var P8=".ihabdevteam-core-scope .choice-chips{display:block;width:100%}.ihabdevteam-core-scope .choice-chips--medium{margin-bottom:60px}.ihabdevteam-core-scope .choice-chips--small{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .choice-chips__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:center;padding-bottom:6px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar{height:8px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);border-radius:var(--radius-sm)}.ihabdevteam-core-scope .choice-chips__button{background:var(--color-deepWhite)!important;border:1px solid var(--color-whiteLine)!important;border-radius:var(--radius-s)!important;color:var(--color-darkGray)!important;height:40px!important;padding:0 24px!important;transition:all .12s!important;white-space:nowrap}.ihabdevteam-core-scope .choice-chips__button:hover{border-color:var(--color-main)!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__button{height:32px!important;padding:0 16px!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__list{gap:var(--spacing-xs)}.ihabdevteam-core-scope .choice-chips__button.is-selected{animation:chip-sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background:var(--color-main)!important;border:1px solid var(--color-main)!important;box-shadow:var(--shadow-dropdown);color:#fff!important}@keyframes chip-sub-to-main{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";ae(P8);function yb({subs:e=[],selected:t,onSelect:a,size:r="medium"}){const n=r==="small"?32:40;return o.jsx("div",{className:`choice-chips choice-chips--${r}`,children:o.jsx("div",{className:"choice-chips__list",children:e.map(i=>o.jsx(ne,{size:n,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}var z8=".ihabdevteam-core-scope .site-footer{background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;color:var(--color-gray);padding:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__top{align-items:flex-start;display:flex;gap:40px;justify-content:space-between}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 220px;width:220px}.ihabdevteam-core-scope .site-footer__lead{color:var(--color-gray);text-align:left}.ihabdevteam-core-scope .site-footer__links{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:100px 10px;min-width:320px}.ihabdevteam-core-scope .site-footer__column{flex:0 0 160px;min-width:160px;text-align:left}.ihabdevteam-core-scope .site-footer__column-title{color:var(--color-lightGray)}.ihabdevteam-core-scope .footer-title{color:var(--color-lightGray);display:inline-block;font-size:13px;font-weight:600;line-height:20px;width:80px}.ihabdevteam-core-scope .site-footer__column ul{list-style:none;margin:10px 0 0;padding:0}.ihabdevteam-core-scope .site-footer__column li{margin-bottom:6px}.ihabdevteam-core-scope .footer-link,.ihabdevteam-core-scope .site-footer__column a{color:var(--color-lightGray);text-decoration:none}.ihabdevteam-core-scope .footer-link{align-items:center;display:inline-flex;font-size:13px;line-height:20px;min-height:24px;min-width:24px;transition:color .12s ease}.ihabdevteam-core-scope .footer-copyright,.ihabdevteam-core-scope .footer-meta{line-height:18px}.ihabdevteam-core-scope .footer-link:focus,.ihabdevteam-core-scope .footer-link:hover{color:var(--color-main);text-decoration:none}.ihabdevteam-core-scope .site-footer__rule{border:none;border-top:1px solid var(--color-darkWhite);margin:40px 0}.ihabdevteam-core-scope .site-footer__bottom{align-items:center;display:flex;gap:40px;justify-content:flex-start}.ihabdevteam-core-scope .site-footer__logo{height:52px}.ihabdevteam-core-scope .site-footer__bottom .site-footer__brand{align-items:center;display:flex;justify-content:center}.ihabdevteam-core-scope .site-footer__meta{color:var(--color-lightGray);text-align:left}.ihabdevteam-core-scope .site-footer__copyright{align-items:center;box-sizing:border-box;color:var(--color-lightGray);display:flex;justify-content:center;margin:var(--spacing-page) 0 0 0;text-align:center;width:100%}@media (max-width:1024px){.ihabdevteam-core-scope .site-footer__top{flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 auto;width:100%}.ihabdevteam-core-scope .site-footer__links{gap:20px 10px;margin:0;min-width:0;width:100%}.ihabdevteam-core-scope .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__meta{width:100%}.ihabdevteam-core-scope .site-footer__logo{height:50px}}@media (max-width:767px){.ihabdevteam-core-scope .site-footer__logo{height:48px}}";ae(z8);function wb({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",n=a?.tel??"031-380-3724",{t:i}=me.useTranslation();return o.jsx("footer",{className:"site-footer",children:o.jsxs("div",{className:"safearea",children:[o.jsxs("div",{className:"site-footer__top",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
978
978
  \uC2E0\uB8B0\uB97C \uC313\uACE0
979
979
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
980
- `).map((s,c,d)=>o.jsxs(l.Fragment,{children:[s,c<d.length-1&&o.jsx("br",{})]},c))})}),o.jsxs("div",{className:"site-footer__links",children:[o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{t&&(s.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),o.jsx("hr",{className:"site-footer__rule"}),o.jsxs("div",{className:"site-footer__bottom",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("img",{src:Il,alt:"IHAB",className:"site-footer__logo"})}),o.jsxs("div",{className:"site-footer__meta",children:[o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),o.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",n]})]})]})]}),o.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var I8='.ihabdevteam-core-scope .landing-header{background:var(--landing-header-bg,var(--color-deepWhite));border-bottom:1px solid rgba(15,18,60,.05);border-bottom:1px solid var(--landing-header-border,rgba(15,18,60,.05));position:sticky;top:0;transform:translateZ(0);will-change:transform;z-index:500;z-index:var(--z-sticky,500)}.ihabdevteam-core-scope .landing-header__inner{align-items:center;display:flex;height:72px;height:var(--landing-header-height,72px);justify-content:space-between;position:relative}.ihabdevteam-core-scope .landing-header__brand{align-items:center;display:flex;flex:0 0 auto;margin-right:auto;text-decoration:none}.ihabdevteam-core-scope .landing-header__logo{display:block;height:40px;height:var(--landing-header-logo-height,40px);max-width:none;transform-origin:left center;transition:transform .3s cubic-bezier(.2,.9,.2,1.2),filter .3s;width:auto}.ihabdevteam-core-scope .landing-header__brand:hover .landing-header__logo{filter:brightness(1.08);transform:scale(1.05)}.ihabdevteam-core-scope .landing-header__links{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;gap:36px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .landing-header__links a{color:inherit;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__links a:hover{color:var(--landing-header-link-hover,var(--color-main))}.ihabdevteam-core-scope .landing-header__links a:after{background:linear-gradient(90deg,var(--color-main),var(--color-sub));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__links a:hover:after{right:0}.ihabdevteam-core-scope .landing-header__actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .landing-header__toggle{align-items:center;background:none;border:0;color:var(--landing-header-link-color,var(--color-deepGray));cursor:pointer;display:none;height:44px;justify-content:center;margin-right:-10px;width:44px}.ihabdevteam-core-scope .landing-header__burger{display:block;height:14px;position:relative;width:22px}.ihabdevteam-core-scope .landing-header__burger>span{background:currentColor;border-radius:1px;height:2px;inset-inline:0;position:absolute;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__burger>span:first-child{top:0}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(2){top:6px}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(3){top:12px}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:first-child{transform:translateY(6px) rotate(45deg)}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(2){opacity:0}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ihabdevteam-core-scope .landing-header__drawer{background:var(--landing-header-bg,var(--color-deepWhite));border-top:1px solid rgba(15,18,60,.05)}.ihabdevteam-core-scope .landing-header__drawer-item{display:block}.ihabdevteam-core-scope .landing-header__drawer-item a{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;min-height:48px;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__drawer-item a:hover,.ihabdevteam-core-scope .landing-header__drawer-item a[aria-current=page]{color:var(--landing-header-link-hover,var(--color-main))}@media (max-width:960px){.ihabdevteam-core-scope .landing-header__links{display:none}.ihabdevteam-core-scope .landing-header__toggle{display:flex}}@media (min-width:961px){.ihabdevteam-core-scope .landing-header__drawer{display:none}}';ae(I8);function kb({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:d={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[u,m]=l.useState(!1),h=s?`${s} landing-header__inner`:"landing-header__inner",p=(g,f)=>c?c(g,{onClick:f}):o.jsx("a",{href:g.href,onClick:f,"aria-current":g.current?"page":void 0,children:g.label});return o.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[o.jsxs("div",{className:h,children:[e!=null&&(()=>{const g=typeof e=="string"?o.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?o.jsx("a",{href:a,className:"landing-header__brand",children:g}):o.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&o.jsx("nav",{className:"landing-header__links",children:r.map(g=>o.jsx("span",{children:p(g)},g.href))}),o.jsxs("div",{className:"landing-header__actions",children:[n,r.length>0&&o.jsx("button",{type:"button",onClick:()=>m(g=>!g),"aria-expanded":u,"aria-controls":"landing-header-drawer","aria-label":u?d.close:d.open,className:u?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:o.jsxs("span",{className:"landing-header__burger",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]})})]})]}),r.length>0&&o.jsx("nav",{id:"landing-header-drawer",hidden:!u,className:"landing-header__drawer",children:o.jsx("div",{className:s??void 0,children:r.map(g=>o.jsx("span",{className:"landing-header__drawer-item",children:p(g,()=>m(!1))},g.href))})})]})}var O8=".ihabdevteam-core-scope .bottom-sticky{animation:bottom-sticky-in .4s cubic-bezier(.2,.9,.2,1) both;bottom:24px;bottom:var(--bottom-sticky-offset,24px);left:50%;max-width:680px;max-width:var(--bottom-sticky-max-width,680px);position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:500;z-index:var(--z-sticky,500)}@keyframes bottom-sticky-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:center;background:var(--bottom-sticky-bg,var(--color-pureWhite));border-radius:20px;border-radius:var(--radius-m,20px);box-shadow:0 8px 40px rgba(15,18,60,.18),0 2px 8px rgba(15,18,60,.06);display:flex;gap:16px;gap:var(--spacing-m,16px);justify-content:space-between;padding:12px 12px 12px 24px;transition:box-shadow .2s,transform .2s}.ihabdevteam-core-scope .bottom-sticky__inner--clickable{cursor:pointer}.ihabdevteam-core-scope .bottom-sticky__inner--clickable:hover{border:1px solid var(--color-main);box-shadow:0 16px 56px color-mix(in srgb,var(--color-main) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-main) 15%,transparent);transform:translateY(-4px)}.ihabdevteam-core-scope .bottom-sticky__content{align-items:center;display:flex;flex:1;gap:12px;gap:var(--spacing-s,12px);justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{align-items:center;color:var(--color-black);display:flex;gap:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-highlight{background:linear-gradient(90deg,var(--color-main),var(--color-sub),var(--color-infoLink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline}.ihabdevteam-core-scope .bottom-sticky__tagline-part{align-items:center;display:flex;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{display:block;height:32px;width:auto}@media (max-width:600px){.ihabdevteam-core-scope .bottom-sticky{bottom:16px;bottom:var(--bottom-sticky-offset,16px);width:calc(100% - 32px)}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:stretch;flex-direction:column;gap:12px;gap:var(--spacing-s,12px);padding:16px;padding:var(--spacing-m,16px)}.ihabdevteam-core-scope .bottom-sticky__content{flex:none;gap:6px;justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{flex-wrap:wrap;justify-content:center;text-align:center;white-space:normal}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{height:26px}}";ae(O8);function Ab({children:e,action:t,onClick:a,className:r}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return o.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:o.jsxs("div",{className:n,onClick:a,...Bm(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const hc=9,F8=e=>Math.round(Math.min(hc,Math.max(0,e))/hc*100),H8=e=>e/100*hc,Sb={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},Bb=l.createContext(null);function mc(){return l.useContext(Bb)}const bc=e=>`${ii()}/${e}`,Nb=e=>Array.from({length:10},(t,a)=>bc(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),$n={get defaultNoise(){return bc("noise1.mp3")},get street(){return Nb("noise2")},get restaurant(){return Nb("noise3")},get buzz(){return bc("noise4.mp3")}};function W8(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return $n.defaultNoise;case"street":return $n.street[t];case"restaurant":return $n.restaurant[t];case"buzz":return $n.buzz;default:return null}}function V8({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=l.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const n=l.useRef(null),[i,s]=l.useState(null),c=l.useRef(null),d=l.useRef(null),u=l.useRef(null),m=l.useRef(0),h=l.useRef(null),p=l.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),g=l.useCallback((x,v=250)=>{const C=n.current;if(!C||!C.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Vo(C))}catch{}const w=C.paused?0:C.volume;C.paused&&(C.volume=0),C.play().catch(()=>{});const _=performance.now(),k=()=>{const y=Math.min(1,(performance.now()-_)/v);try{C.volume=Math.max(0,Math.min(1,w+(x-w)*y))}catch{}y<1?u.current=requestAnimationFrame(k):u.current=null};u.current=requestAnimationFrame(k)},[p]),f=l.useCallback((x=250,v)=>{const C=n.current;if(!C||C.paused){v?.();return}const w=++m.current;p();const _=performance.now(),k=C.volume,y=()=>{const A=Math.min(1,(performance.now()-_)/x);try{C.volume=Math.max(0,k*(1-A))}catch{}if(A<1)u.current=requestAnimationFrame(y);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{C.pause()}catch{}v?.()}};u.current=requestAnimationFrame(y),h.current=setTimeout(()=>{if(h.current=null,m.current===w){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{C.paused||(C.volume=0,C.pause(),v?.())}catch{}}},x+150)},[p]);l.useEffect(()=>{const x=document.createElement("audio");return x.loop=!0,x.crossOrigin="anonymous",n.current=x,()=>{p();try{x.pause(),x.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let x=0;const v=setInterval(()=>{const C=n.current;if(!C||C.paused){x=0;return}const w=t.current;if(w&&!w.paused&&!w.ended||a.current==="playing"){x=0;return}x+=1,x>=2&&(x=0,f())},400);return()=>clearInterval(v)},[f,b,t,a]),l.useEffect(()=>{const x=()=>{if(!document.hidden)return;const v=n.current;if(v&&!v.paused){p();try{v.pause()}catch{}}};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[p]),l.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),l.useEffect(()=>{const x=e?.settings,v=n.current;if(!v)return;if(!x||!x.enabled||x.level===0){f();return}const C=Math.min(1,x.level/9);if(c.current!==x.type){const w=W8(x.type);w&&(c.current=x.type,s(w),f(150,()=>{v.src=w,v.load();const _=t.current;_&&!_.paused&&v.addEventListener("canplay",function k(){v.removeEventListener("canplay",k);const y=t.current;y&&!y.paused&&!y.ended&&g(C)})}))}else{const w=t.current,_=!!w&&!w.paused&&!w.ended;if(_&&v.paused&&v.src)g(C);else if(!v.paused)if(!_)f();else{p();const k=v.volume,y=performance.now(),A=()=>{const T=Math.min(1,(performance.now()-y)/150);try{v.volume=k+(C-k)*T}catch{}T<1?u.current=requestAnimationFrame(A):u.current=null};u.current=requestAnimationFrame(A)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,p,g,f,t]),l.useEffect(()=>{const x=n.current;if(x)try{x.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:p,fadeInNoise:g,fadeOutNoise:f}}function G8({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),f=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const x=(w,_=1)=>{try{const k=(w||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(w||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},v=l.useCallback(w=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof h.current=="function"&&h.current(!0)}catch{}return}const _=window.speechSynthesis;try{try{_.cancel()}catch{}const k=w??e,y=(Array.isArray(k)?k[0]??"":k)||"",A=new SpeechSynthesisUtterance(y);try{A.rate=Math.max(.3,Math.min(3,t))}catch{}try{A.volume=Math.max(0,Math.min(1,a))}catch{}f.current=x(y,A.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const T=m.current;T?.enabled&&(T?.level??0)>0&&d(T.level/9);const S=()=>{try{const D=g.current||performance.now(),H=performance.now()-D,R=f.current||1200,E=Math.min(1,H/R);i(E);try{r.current&&(r.current.style.left=`${E*100}%`),n.current&&n.current.style.setProperty("--progress",String(E))}catch{}E<1&&(b.current=requestAnimationFrame(S))}catch{}};A.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},A.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(S)}catch{}};try{_.speak(A)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,d,r,n,i,s,c,m,h,p]),C=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),u(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:v,stopTTS:C}}var U8='.ihabdevteam-core-scope .audio-player{align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .audio-player__no-waveform{align-items:center;align-self:flex-start;color:var(--color-lightGray);display:flex;gap:4px;margin:6px 0 0}.ihabdevteam-core-scope .audio-player__no-waveform .iconRenderer-icon{align-items:center;display:inline-flex}.ihabdevteam-core-scope .audio-player__panel{align-items:center;background:linear-gradient(90deg,var(--color-main),var(--color-sub));background:linear-gradient(var(--angle,90deg),var(--color-main),var(--color-sub));border-radius:var(--radius-m);display:flex;height:120px;position:relative;width:100%}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__panel{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__wave{pointer-events:none}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons .button,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play .button{opacity:.7}.ihabdevteam-core-scope .audio-player__play{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:relative;right:0;top:0;transition:opacity .16s ease,transform .16s ease;width:100%;z-index:10}.ihabdevteam-core-scope .audio-player__play.is-visible{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .audio-player__panel>.button{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform;z-index:35}.ihabdevteam-core-scope .audio-player__button{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;inset:0;justify-content:center;padding:0;position:absolute;z-index:35}.ihabdevteam-core-scope .audio-player__button-triangle-wrap{align-items:center;display:flex;height:90px;justify-content:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);width:90px}.ihabdevteam-core-scope .audio-player__button:hover .audio-player__button-triangle-wrap{transform:scale(1.18)}.ihabdevteam-core-scope .audio-player__button:active .audio-player__button-triangle-wrap{transform:scale(1.06)}.ihabdevteam-core-scope .audio-player__button-triangle{height:100%;width:100%}.ihabdevteam-core-scope .audio-player__button-triangle path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__button{cursor:default;opacity:.5;pointer-events:none}.ihabdevteam-core-scope .audio-player__slider{align-items:center;bottom:50px;box-sizing:border-box;display:flex;left:20px;pointer-events:none;position:absolute;right:20px;top:20px}.ihabdevteam-core-scope .audio-player__buttons{align-items:center;border-radius:999px;bottom:10px;box-sizing:border-box;display:flex;gap:0;height:28px;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;z-index:40}.ihabdevteam-core-scope .audio-player__source-buttons{align-items:center;border:1px solid var(--color-white-a30);border-radius:var(--radius-m);display:inline-flex;justify-content:center;overflow:visible}.ihabdevteam-core-scope .audio-player__source-buttons .button{flex:0 0 auto;max-width:60px}.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\B2E4\\C74C],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C774\\C804],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C815\\C9C0]{display:none}.ihabdevteam-core-scope .audio-player__buttons>.button{align-items:center;display:inline-flex;justify-content:center;margin:0;width:auto}.ihabdevteam-core-scope .audio-player__fill{backface-visibility:hidden;background:var(--color-pureWhite);border-radius:var(--radius-sm);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scaleY(0);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s ease;width:8px;will-change:transform,opacity;z-index:70}.ihabdevteam-core-scope .audio-player__fill.is-visible{opacity:1}.ihabdevteam-core-scope .audio-player__fill.is-expanded{transform:translateX(-50%) translateY(-50%) scaleY(1)}.ihabdevteam-core-scope .audio-player__fill.is-paused{transition:opacity .16s ease}.ihabdevteam-core-scope .audio-player__fill.is-out{animation:audio-player-fill-out .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes audio-player-fill-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) translateY(-50%) scaleY(0)}}.ihabdevteam-core-scope .audio-player__loading{align-items:center;background:transparent;border-radius:var(--radius-sm);color:rgba(0,0,0,.85);color:var(--audio-loading-foreground,rgba(0,0,0,.85));display:inline-flex;font-size:13px;gap:var(--spacing-xs);left:50%;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.ihabdevteam-core-scope .audio-player__debug{align-items:center;background:hsla(0,0%,100%,.06);border-radius:18px;color:#fff;display:flex;font-size:12px;gap:8px;padding:6px 10px;pointer-events:none;position:absolute;right:12px;top:12px}.ihabdevteam-core-scope .audio-player__debug-dot{border-radius:10px;box-shadow:0 0 6px rgba(0,0,0,.4);display:inline-block;height:10px;width:10px}.ihabdevteam-core-scope .audio-player__loading .audio-player__loading-text,.ihabdevteam-core-scope .audio-player__panel.is-loading .audio-player__loading-text{display:none}.ihabdevteam-core-scope .audio-player__loading-spinner{animation:audio-player-spinner .9s linear infinite;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:40px;width:40px}@keyframes audio-player-spinner{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .audio-player__wave{height:90%;position:absolute}.ihabdevteam-core-scope .audio-player__wave,.ihabdevteam-core-scope .audio-player__wave-inner{align-items:center;display:flex;justify-content:center;pointer-events:none;width:100%;z-index:60}.ihabdevteam-core-scope .audio-player__wave-inner{cursor:default;gap:3px;gap:var(--bar-gap,3px);height:100%;margin:0 auto;padding:0}.ihabdevteam-core-scope .audio-player__wave-inner:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}@keyframes wave-bar-in{0%{opacity:0;transform:translateY(-50%) scaleY(.05)}to{opacity:1;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15))}}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar--hidden:after,.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar--hidden:after{animation:none;opacity:0}.ihabdevteam-core-scope .audio-player__wave-played{bottom:0;clip-path:inset(0 100% 0 0);clip-path:inset(0 calc((1 - var(--progress, 0))*100%) 0 0);left:0;pointer-events:none;position:absolute;right:0;top:0}.ihabdevteam-core-scope .audio-player__bar{box-sizing:border-box;flex:0 0 3px;flex:0 0 var(--bar-w,3px);height:100%;position:relative}.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:61}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:62}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise{align-items:center;bottom:0;display:flex;gap:3px;gap:var(--bar-gap,3px);justify-content:center;left:0;margin:0 auto;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:58}.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.1);transform:translateY(-50%) scaleY(var(--val,.1));transform-origin:center center;z-index:58}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}.ihabdevteam-core-scope .audio-player__segments{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;position:relative;width:100%}.ihabdevteam-core-scope .audio-player__segment{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:10px 0;pointer-events:auto;position:relative}.ihabdevteam-core-scope .audio-player__segment-inner{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;justify-content:center;width:100%}';ae(U8);async function Y8(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,d=Math.max(t,c),u=Math.floor(d/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*u,f=Math.min(g+u,d);let b=0;for(let x=g;x<f;x++){const v=Math.abs(s[x]);v>b&&(b=v)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Db(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await Y8(r,t,a)}catch(r){try{const n=Kr(r)}catch{}return null}}const jb=4;function q8(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseLevel:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(null),[x,v]=l.useState(!1),[C,w]=l.useState(null),[_,k]=l.useState(2),[y,A]=l.useState(0),[T,S]=l.useState(null),[D,H]=l.useState(!1),R=3,E=3,$=1,B=300,F=l.useRef(0),X=l.useCallback(async(ie,pe)=>{const ve=++F.current,xe=()=>F.current===ve;try{if(v(!1),!ie){xe()&&b(null);return}let be=pe;if(!be)try{for(let Ne=0;Ne<4&&!(p.current||g.current);Ne++)await new Promise(Ie=>requestAnimationFrame(Ie));await new Promise(Ne=>requestAnimationFrame(Ne));const U=p.current,re=g&&g.current?g.current:U?U.closest(".audio-player__wave"):null,ge=re?re.getBoundingClientRect():U?U.getBoundingClientRect():null,ce=ge?Math.max(100,ge.width):320,z=ge?ge.height:0;z>0&&A(z),be=Math.max($,Math.min(B,Math.floor((ce+E)/(R+E))));const J=be*R,Z=Math.max(0,be-1),fe=Z>0?(ce-J)/Z:E;k(Math.max(0,fe))}catch{be=120}const M=await Db(ie,be);if(!xe())return;if(!M){b(null),v(!1);return}b(M),w(be),v(!0)}catch{if(!xe())return;b(null),v(!1)}},[v,b,A,k,w]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;X(typeof ie=="string"?ie:void 0).catch(()=>{}),H(!1)},[t,a,X]),l.useEffect(()=>{let ie=!1;if(!i||!C){S(null);return}const pe=d>0?d*(c||1):void 0;return Db(i,C,pe).then(ve=>{ie||S(ve)}).catch(()=>{ie||S(null)}),()=>{ie=!0}},[i,C,d,c]);const Q=Math.max(0,Math.min(1,u)),oe=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),N=C||40,L=l.useMemo(()=>Array.from({length:N}).map((ie,pe)=>{const ve=f&&f[pe]!=null?f[pe]:null,xe=ve==null?null:Math.min(1,ve/oe*Q),be=xe!=null&&y>0&&xe*y<=jb,M=xe==null?.15:be?0:xe,U=N>1?pe/(N-1):0;return o.jsx("div",{className:be?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":pe,"--mix":U}},pe)}),[N,f,oe,Q,y]),P={"--progress":String(Math.max(0,Math.min(1,r)))},W={"--bar-gap":`${_}px`},V=Math.max(0,Math.min(9,s))/9,te=x&&(i?!!T:!0);l.useEffect(()=>{te&&H(!0)},[te]);const I=D?x:te;l.useEffect(()=>{m?.(I)},[I,m]);const q=C||40,O=l.useMemo(()=>Array.from({length:q}).map((ie,pe)=>{const ve=T&&T[pe]!=null?T[pe]:null,xe=ve==null?0:Math.min(1,ve/oe*V),be=y>0&&xe*y<=jb,M=be?0:xe,U=q>1?pe/(q-1):0;return o.jsx("div",{className:be?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":pe,"--mix":U}},pe)}),[q,T,oe,V,y]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:W,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${te?"is-ready":""}`,"aria-hidden":"true",children:O}),h&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${I?"is-ready":""}`,ref:p,children:L}),o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${I?"is-ready":""}`,ref:n,style:P,children:L})]})]})}const K8={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function gc(e,t){return new Promise((a,r)=>{const n=document.createElement("audio");let i=!1;const s=()=>{try{n.src=""}catch{}},c=()=>{if(i)return;i=!0;const u=isFinite(n.duration)&&n.duration||0;s(),a(u)},d=u=>{i||(i=!0,s(),t.rejectOnError?r(new Error(u)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),t.timeoutMs),n.src=e})}const Z8=2e3;function Eb(e,t=Z8){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function X8({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=l.useRef(!1),n=l.useRef([]),i=l.useCallback(d=>{if(r.current=d,!d||!n.current.length)return;const u=n.current;n.current=[];for(const m of u)m()},[]),s=l.useCallback(()=>{r.current=!1},[]),c=l.useCallback(()=>!e&&!t||r.current?Promise.resolve():new Promise(d=>{const u=setTimeout(d,a);n.current.push(()=>{clearTimeout(u),d()})}),[e,t,a]);return l.useEffect(()=>()=>{const d=n.current;n.current=[];for(const u of d)u()},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function J8(){const e=l.useRef([]),t=l.useCallback(n=>(e.current.push(n),n),[]),a=l.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(s=>{if(i.has(s))return!0;try{URL.revokeObjectURL(s)}catch{}return!1})},[]),r=l.useCallback(()=>{a([])},[a]);return l.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function Q8({offsetY:e=8}={}){const t=l.useRef(null),[a,r]=l.useState(null),n=l.useCallback(()=>r(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;r({left:s.left,right:s.right,width:s.width,height:s.height,x:s.x,top:s.top+e,bottom:s.bottom+e,y:s.y+e,toJSON:s.toJSON.bind(s)})}catch{}},[e]);return l.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function e7({currentTime:e,sources:t,index:a,audioDuration:r}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||r||0:r||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function t7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function a7({ended:e,completedByEnd:t}){return!!e||!!t}function o7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function r7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function n7(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const s=i;n.push({code:s.code??null,src:s.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){n.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const s=String(i),c=a(s,t);c&&n.push({code:s,resolvedPath:c})}}return n}function i7({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:n}){const i=l.useRef(null),s=l.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=l.useCallback(()=>{if(i.current!==null)return;const u=()=>{try{const m=e.current,h=e7({currentTime:m&&typeof m.currentTime=="number"?m.currentTime:0,sources:r.current,index:n.current,audioDuration:m&&m.duration?m.duration:0});try{t.current&&(t.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}}catch{}i.current=requestAnimationFrame(u)};i.current=requestAnimationFrame(u)},[e,t,a,r,n]),d=l.useCallback(u=>{s();try{t.current&&(t.current.style.left=`${u*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(u))}catch{}},[s,t,a]);return l.useEffect(()=>s,[s]),{start:c,stop:s,settleTo:d}}function kr({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=me.useTranslation(),m=e,h=mc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null),x=J8(),v=l.useRef(null),C=l.useRef(!1),w=l.useRef(0),_=l.useRef(null),{ref:k,rect:y,show:A,hide:T}=Q8();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[S,D]=l.useState(!1),[H,R]=l.useState("idle"),[E,$]=l.useState("stopped"),B=l.useRef("stopped");l.useEffect(()=>{B.current=E},[E]);const[F,X]=l.useState(0),[Q,oe]=l.useState("active"),[N,L]=l.useState(null),[P,W]=l.useState(null),[V,te]=l.useState(0),[I,q]=l.useState(!1),[O,ie]=l.useState(0),pe=h?.playbackRate??1,ve=h?.mainVolume??1,[xe,be]=l.useState("idle"),[M,U]=l.useState(""),[re]=l.useState("top"),ge=l.useRef(null),ce=l.useRef(0),z=l.useRef(null),{start:J,stop:Z,settleTo:fe}=i7({audioRef:g,fillRef:f,waveProgressRef:z,sourcesRef:ge,currentIndexRef:ce}),{onReadyChange:Ne,waitForReady:Ie,markNotReady:Me}=X8({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=l.useRef(null),je=l.useRef(n),Ae=l.useRef(r),Fe=l.useRef(null),Xe=l.useRef(!1),[we,He]=l.useState(!1),Te=l.useCallback(G=>{Xe.current=G,He(G)},[]),Ue=l.useRef(null),{activeNoiseUrl:et,noiseSettingsRef:Ke,fadeInNoise:Oe,fadeOutNoise:dt}=V8({noisePlayer:h,audioRef:g,playbackStateRef:B}),{startTTS:xt,stopTTS:Ze}=G8({ttsText:i,playbackRate:pe,mainVolume:ve,fillRef:f,waveProgressRef:z,setProgress:X,setPlaybackState:$,setStateLocal:oe,fadeInNoise:Oe,fadeOutNoise:dt,noiseSettingsRef:Ke,onDoneRef:Ae,handleEndRef:Ue}),st=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Le=(!st||st.length===0)&&!!i,Pe=Array.isArray(N)&&N.length>0?N:Array.isArray(P)&&P.length>0?P:null,rt=Math.max(Array.isArray(Pe)?Pe.length:0,st.length),nt=l.useCallback(async(G,ee=3,de=50)=>{for(let Ce=0;Ce<ee;Ce++)try{return await G.play(),!0}catch(ye){if((ye instanceof Error||typeof ye=="object"&&ye&&"name"in ye?ye.name:void 0)==="AbortError"){await new Promise(De=>setTimeout(De,de));continue}try{U(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{U(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),tt=l.useCallback(()=>{const G=g.current;if(!G)return;const ee=()=>{$("playing"),oe("playMode"),q(!0),J();try{Wo(),p.current?.("main",Vo(G))}catch{}const ye=Ke.current;ye?.enabled&&(ye?.level??0)>0&&Oe(ye.level/9)},de=()=>{a7({ended:!!G?.ended,completedByEnd:Xe.current})||($("paused"),Z(),dt())},Ce=()=>{try{const ye=ge.current,De=t7(ye,ce.current);if(De!==null){ce.current=De,te(De),q(!0);const ze=ye?.[De]&&ye[De].src;if(ze&&G){G.src=ze,G.load(),nt(G).catch(()=>{});return}}}catch{}$("stopped"),X(1);try{if(G)try{G.currentTime=0}catch{}}catch{}Z(),q(!1),dt();try{!je.current&&Ue.current&&Ue.current()}catch{}};return G.addEventListener("play",ee),G.addEventListener("pause",de),G.addEventListener("ended",Ce),()=>{try{G.removeEventListener("play",ee),G.removeEventListener("pause",de),G.removeEventListener("ended",Ce),Z()}catch{}}},[Oe,dt,nt,Ke,J,Z]);l.useEffect(()=>tt(),[tt]),l.useEffect(()=>{je.current=n},[n]),l.useEffect(()=>{Ae.current=r},[r]),l.useEffect(()=>{if(n||Q!=="active")return;const G=_.current;if(!G)return;let ee=null;const de=requestAnimationFrame(()=>{try{const Ce=G.getTotalLength();if(!Ce)return;const ye=Ce*.2;G.style.strokeDasharray=`${Ce-ye} ${ye}`;const De="triFlow_"+Math.random().toString(36).slice(2);ee=document.createElement("style"),ee.textContent=`@keyframes ${De}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Ce}}}`,document.head.appendChild(ee),G.style.animation=`${De} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(de),ee?.remove()}},[Q,n]),l.useEffect(()=>{ge.current=N},[N]),l.useEffect(()=>{ce.current=V},[V]),l.useEffect(()=>{const G=b.current,ee=v.current;if(!G||!ee)return;let de=null;const Ce=32,ye=60,De=()=>{try{const ut=Array.from(G.querySelectorAll(":scope > .button"));let ue=0;ut.forEach(Yt=>{if(Yt===ee)return;const Eo=Yt.getBoundingClientRect();ue+=Eo.width});const Se=G.getBoundingClientRect().width,Ge=Math.max(0,Math.floor(Se-ue-8)),mt=rt;if(!mt||Ge<=0){Array.from(ee.children).forEach(Yt=>{try{Yt.style.width=""}catch{}});return}let _t=Math.floor(Ge/mt);_t>ye&&(_t=ye),_t<Ce&&(_t=Math.max(Ce,Math.floor(Ge/mt))),Array.from(ee.querySelectorAll(".button")).forEach(Yt=>{try{Yt.style.width=`${_t}px`}catch{}})}catch{}},ze=requestAnimationFrame(De);try{de=new ResizeObserver(()=>{requestAnimationFrame(De)}),de.observe(G),de.observe(ee),window.addEventListener("resize",De)}catch{}return()=>{try{cancelAnimationFrame(ze)}catch{}try{de&&(de.disconnect(),de=null)}catch{}try{window.removeEventListener("resize",De)}catch{}}},[N,P,rt]),l.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Fe.current&&(clearTimeout(Fe.current),Fe.current=null)}catch{}},[]);const lt=(G,ee)=>{L(G),ie(ee),Me(),W(o7(G)),ge.current=G},yt=async(G,ee)=>{Te(!1),C.current=!1,G.src=ee,G.load(),await Eb(G),await Ie(),D(!1),await nt(G),oe("playMode"),te(0),q(!0)},aa=async(G,ee=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await gc(G,{timeoutMs:1e4,rejectOnError:!0});lt([{src:G,objectUrl:null,duration:Ce}],Ce),R("ready"),ee&&de&&await yt(de,G)}finally{C.current=!1,D(!1)}},at=async(G,ee=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await Promise.all(G.map(De=>gc(De,{timeoutMs:1e4}))),ye=G.map((De,ze)=>({src:De,objectUrl:null,duration:Ce[ze]||0}));lt(ye,r7(ye)),R("ready"),ee&&de&&ye.length>0&&await yt(de,ye[0].src)}finally{C.current=!1,D(!1)}},Lt=async(G=!1,ee=!0)=>{const de=g.current,Ce=t?Array.isArray(t)?t:[t]:[];if(!(!Ce||Ce.length===0||!Ce.some(Boolean))&&!C.current){C.current=!0,ee&&D(!0),R("resolving");try{const ye=n7(t,a,Tr),De=[];let ze=0;for(const ut of ye){let ue=ut.src??null,Se=null;if(!ue&&ut.resolvedPath){try{R("getting_signed_url"),ue=await Oo(ut.resolvedPath)}catch{ue=null}if(!ue)try{R("downloading");const mt=await Lr(ut.resolvedPath);if(mt){const _t=mt instanceof Blob?mt:new Blob([mt]);Se=x.track(URL.createObjectURL(_t)),ue=Se}}catch{R("error");try{U(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),oe("active")}catch{}}}if(!ue)continue;let Ge=0;try{R("measuring_duration"),Ge=await gc(ue,{timeoutMs:3e3})}catch{Ge=0}ze+=Ge||0,De.push({...ut,src:ue,objectUrl:Se,duration:Ge})}if(lt(De,ze),De.length>0&&G&&de){const ut=De[0];Te(!1);try{x.keepOnly(De.map(ue=>ue.objectUrl))}catch{}if(R("ready"),C.current=!1,ut.src&&de)try{de.src=ut.src,de.load(),await Eb(de),await Ie(),ee&&D(!1),de&&await nt(de)}catch{ee&&D(!1)}else ee&&D(!1);oe("playMode"),te(0),q(!0)}}finally{C.current=!1,ee&&D(!1),R(ye=>ye==="ready"?"ready":"idle")}}},Pt=async()=>{const G=g.current;if(!(!G&&!Le)){if(Le){const ee=window.speechSynthesis;if(Q==="active"){const de=Fo(),Ce=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(de&&Ce.length>0){oe("load"),D(!0),R("resolving"),C.current=!0;try{const ye=await Promise.all(Ce.map(De=>Promise.resolve(de(De))));ye.length>1?await at(ye,!0):await aa(ye[0],!0)}catch{C.current=!1,D(!1),oe("active"),xt(Ce[0]||void 0)}return}xt(Ce[0]||void 0);return}if(Q==="playMode"){if(G){if(G.paused){if(Xe.current){await Wt();return}await nt(G),$("playing")}else G.pause(),$("paused");return}try{if(ee&&ee.paused)try{ee.resume(),$("playing")}catch{}else try{ee.pause(),$("paused")}catch{}}catch{}}return}if(Q==="active"){if(n&&Array.isArray(ge.current)&&ge.current.length>0){const ee=ge.current[0];try{if(ee.src&&G)try{G.src=ee.src,G.load(),G&&await nt(G)}catch{}oe("playMode"),te(0),q(!0);return}catch{}}oe("load"),await Lt(!0);return}if(Q!=="load"&&(Q==="playMode"||Q==="active"))try{if(G&&G.paused){if(Xe.current){await Wt();return}G&&await nt(G),$("playing")}else G&&(G.pause(),$("paused"))}catch(ee){(ee instanceof Error||typeof ee=="object"&&ee&&"name"in ee)&&ee.name}}},Wt=async()=>{const G=g.current;if(G)try{const ee=ge.current;if(Array.isArray(ee)&&ee.length>1){await Et(0);return}Te(!1);try{G.currentTime=0}catch{}G&&await nt(G),$("playing"),oe("playMode")}catch{}},Ea=()=>{if(Le){Ze();return}const G=g.current;try{if(G){try{G.pause()}catch{}try{G.currentTime=0}catch{}}}catch{}dt(),$("stopped"),oe("active"),X(0),q(!1)},oa=async(G,{sameSegment:ee=!1}={})=>{const de=++w.current,Ce=g.current,ye=ge.current?.[G]?.src;try{if(Te(!1),te(G),q(!0),ce.current=G,!ye||!Ce||(ee||Me(),Ce.src=ye,Ce.load(),ee||await Ie(),de!==w.current)||(await nt(Ce),de!==w.current))return;$("playing"),oe("playMode")}catch{}},va=async()=>{const G=ge.current,ee=ce.current||0;if(!G||ee<=0){await Wt();return}await oa(ee-1)},Ta=async()=>{const G=ge.current,ee=ce.current||0;if(!G||ee>=G.length-1){Ea();return}await oa(ee+1)},jt=()=>{if(Xe.current)return;const G=200,ee=340;Te(!0);try{X(1)}catch{}fe(1);try{be("hold")}catch{}try{const de=g.current,Ce=Le&&!!de?.src;if(!Le||Ce){if(de){de.pause();try{de.currentTime=0}catch{}}}else Ze();dt()}catch{}try{$("stopped")}catch{}if(q(!1),!je.current)try{Fe.current&&(clearTimeout(Fe.current),Fe.current=null),Fe.current=setTimeout(()=>{try{be("out")}catch{}Fe.current=setTimeout(()=>{try{typeof Ae.current=="function"&&Ae.current(!0)}catch{}try{be("idle")}catch{}Fe.current=null},ee)},G)}catch{}};l.useEffect(()=>{Ue.current=jt});const Ya=l.useCallback(()=>U(""),[]),Et=async G=>{(ge.current||[])[G]&&await oa(G,{sameSegment:G===ce.current})},xa=E==="playing",qa=l.useMemo(()=>{if(!P||P.length<=1)return P;const G=P[V];return G?[G]:P},[P,V]),Je=n===!0;l.useEffect(()=>{try{const G=g.current;G&&typeof G.playbackRate=="number"&&(G.playbackRate=pe||1)}catch{}},[pe]),l.useEffect(()=>{try{const G=g.current;G&&(G.volume=Math.max(0,Math.min(1,ve)))}catch{}},[ve]);const zt=xe==="hold",wt=xe==="out",_a=Q==="playMode"&&!S&&!we||zt||wt,ra=E!=="stopped"||zt||wt,na=E==="paused",ia=Math.max(0,Math.min(100,(F||0)*100)),le=_e("audio-player__fill",_a?"is-visible":"",ra?"is-expanded":"",na?"is-paused":"",wt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Je?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${xa?"is-playing":""} ${S?"is-loading":""} ${Q!=="default"?"is-revealed":""}`,children:[S?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:K8[H]})]}):null,Q==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{T(),Pt()},"aria-label":typeof m=="string"?m:u("training.listen","\uB4E3\uAE30"),onMouseEnter:A,onMouseLeave:T,onFocus:A,onBlur:T,children:o.jsx("span",{ref:k,className:"audio-player__button-triangle-wrap",children:o.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:o.jsx("path",{ref:_,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,y&&o.jsx(ha,{anchorRect:y,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${Q==="playMode"||xa?"is-visible":""}`,children:[o.jsxs("div",{ref:b,className:"audio-player__buttons",children:[o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:va,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:xa?"pause":"play",onClick:Pt,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ea,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),rt>1?o.jsx("div",{ref:v,className:"audio-player__source-buttons",children:Array.from({length:rt}).map((G,ee)=>o.jsx(ne,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(ee+1),onClick:()=>{try{Et(ee)}catch{}},ariaLabel:u("training.sourcePlay",{n:ee+1}),variant:"transparent-white",selected:I&&V===ee,disabled:Q!=="playMode"||!(Array.isArray(N)&&N[ee]),showTooltipInfo:!0},ee))}):null,!Array.isArray(N)||N.length<=1?o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Wt,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}):null,o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Ta,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:jt,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:le,ref:f,style:{left:`${ia}%`},"aria-hidden":"true"}),(c||d)&&o.jsx(q8,{segments:qa,progress:F,totalDuration:O,onSegmentClick:Et,waveProgressRef:z,showSoundWaveForm:c,noiseSrc:d&&h?.settings.enabled&&(h?.settings.level??0)>0?et:null,noiseLevel:h?.settings.level??0,noiseSpeed:h?.settings.speed??1,mainVolume:ve,onReadyChange:Ne})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(We,{icon:"triangle-alert",size:14}),u("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),o.jsx(ro,{message:M,position:re,onClose:Ya})]})}var s7=".ihabdevteam-core-scope .tooltip-textbox{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;max-width:520px;padding:var(--spacing-content)}.ihabdevteam-core-scope .tooltip-textbox__root{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-textbox__box{background:transparent}.ihabdevteam-core-scope .tooltip-textbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .tooltip-textbox__text{color:var(--color-darkGray);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.ihabdevteam-core-scope .tooltip-textbox__line{align-items:center;display:flex;gap:var(--spacing-s);margin-bottom:0;min-height:60px;padding:10px 0}.ihabdevteam-core-scope .tooltip-textbox__line:last-child{margin-bottom:0}.ihabdevteam-core-scope .tooltip-textbox__line:not(:last-child){border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__line:not(:last-child){border-bottom-color:hsla(0,0%,100%,.06)}.ihabdevteam-core-scope .tooltip-textbox__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;min-width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .tooltip-textbox__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}.ihabdevteam-core-scope .tooltip-textbox__line-number{color:#fff;min-width:auto;text-align:center}.ihabdevteam-core-scope .tooltip-textbox__line-text{flex:1 1 auto}.ihabdevteam-core-scope .tooltip-textbox__buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:10px;position:relative}.ihabdevteam-core-scope .tooltip-textbox.is-dark{background:var(--color-darkGray);border-color:var(--color-gray)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__text{color:var(--color-deepWhite)}";ae(s7);function Do(e){const{t}=me.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[d,u]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}=cn({storageKey:"tooltip-fontScale"}),x=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),v=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${f}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},_=o.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[o.jsxs("div",{className:"tooltip-textbox__box",children:[r&&o.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),o.jsx("div",{className:"tooltip-textbox__text body-1",style:w,children:C.map((k,y)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[C.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:y+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},y))})]}),o.jsxs("div",{className:"tooltip-textbox__buttons",children:[o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:h,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!p}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:x,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:v,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Aa,{anchorRect:n,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:_}):o.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:_})}var l7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .training-steps{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-m);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--spacing-s);gap:var(--spacing-m);min-width:0;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__title{color:#0b2b35;color:var(--text,#0b2b35);margin:0;text-align:left}.ihabdevteam-core-scope .training-step__buttons{-ms-overflow-style:none;align-items:stretch;display:flex;flex-direction:row;gap:var(--spacing-content);overflow-x:auto;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__buttons::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__buttons>*{align-self:stretch;flex:1 1 0;margin:0;min-width:0}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3>*{width:100%}.ihabdevteam-core-scope .training-step__buttons .button{align-items:center;align-self:stretch;display:flex}@media (max-width:640px){.ihabdevteam-core-scope .training-step{flex-direction:row;gap:10px}}.ihabdevteam-core-scope .training-step__cards{box-sizing:border-box;display:flex;gap:var(--spacing-s);width:100%}@media (max-width:767px){.ihabdevteam-core-scope .training-step__cards{grid-gap:var(--spacing-s);display:grid;gap:var(--spacing-s);grid-template-columns:repeat(3,1fr)}}.ihabdevteam-core-scope .training-step__listen-sticky{width:100%}.ihabdevteam-core-scope .training-step.training-step--has-nested .training-step__content{margin-bottom:100px}.ihabdevteam-core-scope .training-steps>.training-step:last-child .training-step__content{margin-bottom:0}.ihabdevteam-core-scope .training-step:not(.training-step--last) .training-step__content{margin-bottom:var( --margin-page)}.ihabdevteam-core-scope .training-step.training-step--last .training-step__content{margin-bottom:0}";ae(l7);var c7='.ihabdevteam-core-scope .ts-bullet{--dot-size:28px;--dot-gap:10px;align-items:center;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;position:relative;width:28px;width:var(--dot-size)}.ihabdevteam-core-scope .bullet__dot{align-items:center;border:2px solid rgba(43,138,125,.12);border-radius:50%;display:flex;height:var(--dot-size);justify-content:center;width:var(--dot-size);z-index:2}.ihabdevteam-core-scope .bullet__icon{align-items:center;color:var(--color-darkGray);display:inline-flex;height:20px;justify-content:center;position:relative;width:20px;z-index:1}.ihabdevteam-core-scope .bullet__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-mask{background-color:currentColor;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-svg svg{fill:currentColor;height:100%;width:100%}.ihabdevteam-core-scope .ts-bullet__line{background:var(--color-whiteLine);border-radius:var(--radius-xs);bottom:20px;left:50%;position:absolute;top:calc(var(--dot-size) + var(--dot-gap));transform:translateX(-50%);width:2px;z-index:1}.ihabdevteam-core-scope .ts-bullet--done .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--active .bullet__icon{color:#fff}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--done .bullet__dot{border:2px solid var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot{background-color:var(--color-main);position:relative}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after,.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:before{animation:bullet-ripple 3s cubic-bezier(.2,.6,.2,1) infinite;background:var(--color-main);border-radius:50%;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after{animation-delay:1.5s;opacity:.3}@keyframes bullet-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__dot{border:2px solid var(--color-whiteLine)}.ihabdevteam-core-scope .ts-bullet--done .bullet__line{background-color:var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__line,.ihabdevteam-core-scope .ts-bullet--disabled .bullet__line{background-color:var(--color-whiteLine)}.ihabdevteam-core-scope .training-step--last .ts-bullet__line,.ihabdevteam-core-scope .training-step.training-step--last .ts-bullet__line{display:none}@media (max-width:1024px){.ihabdevteam-core-scope .ts-bullet{--dot-size:26px}}@media (max-width:768px){.ihabdevteam-core-scope .ts-bullet{--dot-size:24px}}';ae(c7);function fc({state:e="disabled"}){const{t}=me.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(We,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),o.jsx("div",{className:"ts-bullet__line"})]})}var d7=".ihabdevteam-core-scope .training-step__title-row{align-items:center;display:flex;gap:var(--spacing-xs);padding-right:72px;position:relative;width:100%}.ihabdevteam-core-scope .training-step__title-row .training-step__title{color:var(--color-black);margin:0;padding:0}.ihabdevteam-core-scope .training-step__title--faded .training-step__title-text{background-color:var(--color-darkWhite);border-radius:var(--radius-xs);color:transparent;opacity:1;transition:color .14s ease,opacity .14s ease}.ihabdevteam-core-scope .training-step__title-row .title-controls{align-items:center;display:flex;gap:6px;margin-left:auto}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons{align-items:center;display:inline-flex;gap:6px;justify-content:center;overflow:visible;position:absolute;right:0;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons .button28{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--disabled .title-controls{opacity:.6;pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--active .title-controls,.ihabdevteam-core-scope .training-step__title-row--done .title-controls{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{color:var(--color-disabled)}.ihabdevteam-core-scope .training-step__title-row--active .training-step__title{color:var(--color-black)}";ae(d7);function vc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:m=!1}){const{t:h}=me.useTranslation(),p=Qt("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[x,v]=l.useState(!1),[C,w]=l.useState(null),[_,k]=l.useState(null),y=l.useRef(i);l.useEffect(()=>{y.current=i});const A=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(D=>typeof D=="string"||typeof D=="number")?s.join(""):"",[s]),T=l.useCallback(()=>{v(!1),w(null),k(null)},[]);l.useEffect(()=>{if(!x)return;let D;try{typeof y.current=="function"&&(D=y.current())}catch{}if(D===!1){T();return}k(typeof D<"u"&&D!==null?D:null)},[A]);const S=l.useCallback(()=>{let D;try{typeof i=="function"&&(D=i())}catch{}if(D!==!1){if(k(typeof D<"u"&&D!==null?D:s),!b.current){v(H=>!H);return}if(x)v(!1),w(null),k(null);else{const H=b.current.getBoundingClientRect();w(H),v(!0)}}},[i,s,x]);return o.jsxs("div",{className:f,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[d&&o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:x,onClick:S,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),x&&o.jsx(Do,{text:_??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:T,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function xc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Ua({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=me.useTranslation(),[m,h]=l.useState(()=>xc(e,t));l.useEffect(()=>{const k=xc(e,t);if(k!==m){const y=setTimeout(()=>h(k),0);return()=>clearTimeout(y)}},[e,t,m]);const p=l.useCallback((...k)=>{xc(e,t)==="done"||m==="done"||typeof c=="function"&&c(...k)},[e,t,m,c]),[g,f]=l.useState(!1),[b,x]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),v=l.useCallback(k=>{if(!k)return null;try{const y=k;if(typeof k=="object"&&(y.currentTarget||y.target)&&(y.nativeEvent||y.type)){const S=y.currentTarget??y.target;if(S&&typeof S.getBoundingClientRect=="function")return S.getBoundingClientRect()}if(k instanceof DOMRect)return k;const A=k;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const T=k?.current;return T&&typeof T.getBoundingClientRect=="function"?T.getBoundingClientRect():null}catch{return null}},[]),C=l.useCallback((k,{text:y="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:T=!1,alignX:S="center",alignY:D="top"}={})=>{const H=v(k);x({text:y,label:A,anchorRect:H,backdrop:T,alignX:S,alignY:D}),f(!0)},[v]),w=l.useCallback(()=>{f(!1),x(k=>({...k,anchorRect:null}))},[]),_=l.Children.map(i,k=>{if(l.isValidElement(k)){const y=k;if(typeof y.type=="string")return y;const A=y.props??{},T=typeof A.onDone=="function"?A.onDone:p,S=typeof A.disabled=="boolean";let D=m==="disabled";return S&&(D=!!A.disabled),l.cloneElement(y,{onDone:T,disabled:D,showTooltip:C,hideTooltip:w})}return k});return o.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${s}`,"aria-current":m==="active",children:[o.jsx(fc,{state:m}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(vc,{state:m,title:r,...n,useFaded:d}),_]}),g?o.jsx(Aa,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:w,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(Do,{text:b.text,onClose:w})}):null]})}var u7='.ihabdevteam-core-scope .training-text-box{background:var(--color-darkWhite);border:1px solid var(--color-deepWhite);border-radius:var(--radius-m);color:var(--color-black);display:flex;flex-direction:column;max-width:100%;min-height:160px;overflow:visible;overflow-wrap:anywhere;padding:var(--spacing-content);position:relative;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-text-box--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-text-box--disabled .training-text-box__inner{visibility:hidden}.ihabdevteam-core-scope .training-text-box--disabled:after{content:"";pointer-events:none;position:absolute;z-index:5}.ihabdevteam-core-scope .training-text-box__preview{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:60}.ihabdevteam-core-scope .training-text-box__buttons{border-radius:999px;gap:4px;height:28px;left:0;right:0}.ihabdevteam-core-scope .training-text-box__area,.ihabdevteam-core-scope .training-text-box__buttons{align-items:center;box-sizing:border-box;display:flex;justify-content:center;pointer-events:auto;position:relative;z-index:40}.ihabdevteam-core-scope .training-text-box__area{flex:1 1 auto;margin:0 auto;min-height:0;text-align:center;width:100%}.ihabdevteam-core-scope .training-text-box--active,.ihabdevteam-core-scope .training-text-box--done{background-color:var(--color-white);border-color:var(--color-main);pointer-events:auto;transition:box-shadow .18s ease,transform .18s ease,opacity .16s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.ihabdevteam-core-scope .training-text-box.is-dark{background:var(--color-darkGray);border:1px solid var(--color-black);color:var(--color-deepWhite)}.ihabdevteam-core-scope .training-text-box .training-text-box__inner{display:block;overflow-wrap:anywhere;text-align:center;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .training-text-box.is-dark .tooltip-textbox__text,.ihabdevteam-core-scope .training-text-box.is-dark .training-text-box__inner{color:var(--color-deepWhite)}';ae(u7);function _c({context:e,state:t="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const d=()=>c(S=>S==="dark"?"light":"dark"),{increase:u,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:f}=cn({storageKey:"textbox_fontScale"}),[b,x]=l.useState(""),v=l.useCallback(()=>i("active"),[]),C=l.useCallback(()=>x(""),[]),w=S=>{try{x(S)}catch{}},_=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const S=setTimeout(()=>i(t),0);return()=>clearTimeout(S)}},[t]);const k=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const S=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(S)},[k]);const y=t==="disabled"?n:t,A=y==="disabled"?"training-text-box--disabled":y==="active"?"training-text-box--active":y==="done"?"training-text-box--done":"",T=l.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${f}px`}),[g,f]);return o.jsxs("div",{className:`training-text-box ${A} ${y!=="disabled"&&s==="dark"?"is-dark":""}`,children:[y==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(ne,{size:48,type:"bar",onClick:v,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":y==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:T,children:k})}),y!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":y==="disabled",children:[o.jsx(ne,{size:32,type:"dot",onClick:m,onDisabledClick:()=>w(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),o.jsx(ne,{size:32,type:"dot",onClick:u,onDisabledClick:()=>w(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),o.jsx(ro,{message:b,position:"top",onClose:C})]})}function Rn({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:b}=me.useTranslation(),x=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),v=typeof e=="number"?e:-1,C=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",w=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,_=d?d.join("||"):"",k=u?u.join("||"):"",[y,A]=l.useState(()=>Array.isArray(w)?f?Ve(w):w.slice():void 0);l.useEffect(()=>{Array.isArray(w)&&w.length?A(f?Ve(w):w.slice()):A(void 0)},[c,_,k,f]);const[T,S]=l.useState(null),[D,H]=l.useState(()=>new Set);l.useEffect(()=>{S(null),H(new Set)},[k]);const R=l.useRef(void 0);l.useEffect(()=>{const B=R.current;typeof B=="number"&&typeof t=="number"&&typeof e=="number"&&B>=e&&t<e&&(S(null),H(new Set)),R.current=t},[t,e]);const E=l.useCallback(B=>{if(C!=="active")return;const F=y?.[B];if(F==null)return;const X=F,Q=C==="active"||C==="done";if(m){const oe=new Set(D),N=oe.has(X);N?oe.delete(X):oe.add(X),H(oe),typeof s=="function"&&s({selectedValues:[...oe],__ts:Date.now()}),Q&&(typeof h=="number"&&h>0?oe.size>=h:!N)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...oe],__ts:Date.now()})}else S(X),typeof s=="function"&&s({selectedIndex:B,selectedValue:X,__ts:Date.now()}),Q&&typeof i=="function"&&C==="active"&&i({selectedIndex:B,selectedValue:X,__ts:Date.now()})},[y,C,m,s,i,h,D]),$=`training-step__buttons${Array.isArray(y)&&y.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:x,useTitleFaded:n,children:o.jsx("div",{className:$,children:Array.isArray(y)&&y.length>0?y.map((B,F)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>E(F),ariaLabel:String(B),label:B,useLabel:!0,icon:g?g[String(B)]:void 0,variant:"default",disabled:C==="disabled",selected:m?D.has(B):T===B,useDisabledCovered:p,minWidth:0},String(B))):null})})}function Pn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=me.useTranslation(),u=r??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",p=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",g=s&&typeof s=="object"?s.choices:void 0,[f,b]=l.useState(c??null);l.useEffect(()=>{if(c==null&&f!==null){const w=setTimeout(()=>b(null),0);return()=>clearTimeout(w)}},[p,c,f]);const x=l.useCallback(w=>{const _=typeof w=="object"&&w!==null?Object.assign({},w,{__ts:Date.now()}):{value:w,__ts:Date.now()};typeof i=="function"&&i(_),h==="active"&&typeof n=="function"&&n(_)},[i,h,n]),v=l.useCallback(()=>{h==="active"&&(b(!1),x(!1))},[x,h]),C=l.useCallback(()=>{h==="active"&&(b(!0),x(!0))},[x,h]);return o.jsxs(Ua,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[o.jsx(_c,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((w,_)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(_),x&&x(_))},disabled:h==="disabled",ariaLabel:String(w),label:w,variant:h,selected:f===_},_)):o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:56,type:"bar",onClick:v,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),o.jsx(ne,{size:56,type:"bar",onClick:C,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function zn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:b}=me.useTranslation(),x=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),v=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:x,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(kr,{soundSrc:s,ttsText:s?null:u??x,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:v,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var p7=".ihabdevteam-core-scope .page-popup--closing{opacity:0;pointer-events:none;transition:opacity .16s ease}.ihabdevteam-core-scope .page-popup__panel{overflow:auto}.ihabdevteam-core-scope .page-popup__close{font-size:20px;right:12px;top:10px}.ihabdevteam-core-scope .page-popup{align-items:stretch;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-page-popup)}.ihabdevteam-core-scope .page-popup__panel{background:var(--color-deepWhite);border-radius:0;box-shadow:none;color:var(--color-black);display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow:hidden;position:relative;width:100%}.ihabdevteam-core-scope .page-popup__scroll{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1 0;justify-content:center;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin;touch-action:pan-y}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}.ihabdevteam-core-scope .page-popup__panel--measuring .page-popup__scroll{opacity:0;pointer-events:none}.ihabdevteam-core-scope .page-popup__scroll{transition:opacity .12s ease}.ihabdevteam-core-scope .nt-debug{background:rgba(0,0,0,.03);border-radius:var(--radius-sm);color:var(--text,var(--color-black));font-family:monospace;font-size:12px;line-height:1.2;max-width:300px;padding:8px 10px;position:absolute;right:20px;top:84px;white-space:pre-wrap;z-index:calc(var(--z-page-popup) + 1)}.ihabdevteam-core-scope .page-popup--backdrop{display:none}.ihabdevteam-core-scope .page-popup__close{background:transparent;border:none;color:var(--text,var(--color-black));cursor:pointer;font-size:22px;line-height:1;position:absolute;right:14px;top:12px}.ihabdevteam-core-scope .page-popup__panel>*{box-sizing:border-box}.ihabdevteam-core-scope .page-popup__body{padding:16px 20px}.ihabdevteam-core-scope .page-popup__content{box-sizing:border-box;margin:0 auto;max-width:800px;min-width:0;padding:var(--spacing-page);width:100%}.ihabdevteam-core-scope .page-popup__content--center{margin-bottom:auto;margin-top:auto}.ihabdevteam-core-scope .pp-empty{color:var(--color-gray);padding:24px 0;text-align:center;width:100%}.ihabdevteam-core-scope .page-popup__content .training-steps{box-sizing:border-box;min-width:0;width:100%}.ihabdevteam-core-scope .page-popup__bottom,.ihabdevteam-core-scope .page-popup__top{flex-shrink:0}.ihabdevteam-core-scope .page-popup__panel--center .page-popup__scroll{align-items:center}.ihabdevteam-core-scope .page-popup--result-empty{background:var(--color-deepWhite)}.ihabdevteam-core-scope .page-popup__empty{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}";ae(p7);var h7=".ihabdevteam-core-scope .order-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .order-list__item{align-items:flex-start;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .order-list__draggable{align-items:center;border-radius:var(--radius-m);display:flex;flex:1;gap:var(--spacing-xs);justify-content:space-between;min-height:60px;padding:0 0 0 4px;will-change:transform}.ihabdevteam-core-scope .order-list__item-text{color:var(--color-black)}.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:inline-flex;gap:2px}@media (max-width:600px){.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:flex;flex-direction:column}.ihabdevteam-core-scope .order-list__item-buttons>*{box-sizing:border-box;display:inline-flex}}.ihabdevteam-core-scope .order-list__item.correct{border:1px solid var(--color-main)}.ihabdevteam-core-scope .order-list__slot{align-items:center;background-color:var(--color-darkWhite);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:var(--spacing-xs);height:auto;padding:4px 10px;width:100%}.ihabdevteam-core-scope .order-list__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .order-list__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}@media (max-width:600px){.ihabdevteam-core-scope .order-list__marker{height:24px;min-width:24px;width:24px}}.ihabdevteam-core-scope .order-list__item:hover .order-list__slot{background-color:var(--color-deepWhite);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot{background-color:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-main)}.ihabdevteam-core-scope .order-list__slot.pulse{background-color:var(--color-white);transition:background-color .42s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__slot.pulse.to-dark{background-color:var(--color-darkWhite)}.ihabdevteam-core-scope .order-list__slot-number{align-items:center;align-self:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.ihabdevteam-core-scope .order-list__draggable.dragging{background-color:var(--color-white);opacity:.2}.ihabdevteam-core-scope .order-list__dragging-object{align-items:center;background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(16,24,40,.18);box-sizing:border-box;color:var(--color-black);display:inline-flex;gap:var(--spacing-s);left:0;max-width:calc(100vw - var(--spacing-page)*3);min-height:60px;opacity:1;overflow-wrap:anywhere;padding:20px;pointer-events:none;position:fixed;top:0;transform:translate3d(-9999px,-9999px,0) scale(1);transition:transform .16s cubic-bezier(.22,.9,.39,1),opacity .18s ease;white-space:normal;width:auto;will-change:transform,opacity;word-break:keep-all;z-index:var(--z-popover)}.ihabdevteam-core-scope .order-list__dragging-object--visible{opacity:1}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot:hover{background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item-text{display:block;line-height:1.4;margin:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true],.ihabdevteam-core-scope .order-list__draggable[draggable=false]{background-color:var(--color-darkWhite);box-shadow:none!important;cursor:default;opacity:.9;pointer-events:none}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-text,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-text{color:var(--color-gray);display:none!important;opacity:.9}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[draggable=false]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__slot-number[hidden]{display:none!important}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]+.order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false]+.order-list__slot,.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{background-color:var(--color-darkWhite)!important;box-shadow:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{cursor:default!important;pointer-events:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true] .order-list__slot-number{display:none!important}";ae(h7);function In({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=me.useTranslation(),d=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=L=>typeof L=="string"?L:L&&(L.context||L.sentence||L.question||"")||"",[m,h]=l.useState(Array.isArray(s)?s:[]),[p,g]=l.useState(()=>(m||[]).map((L,P)=>({id:P,text:u(L)}))),f=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]);l.useEffect(()=>{const L=Array.isArray(s)?s:[];h(L);const P=(W=>{const V=(W||[]).map((O,ie)=>({id:ie,text:u(O)}));if(V.length<=1)return V;const te=(O,ie)=>{if(O.length!==ie.length)return!1;for(let pe=0;pe<O.length;pe++)if(O[pe].text!==ie[pe].text)return!1;return!0};let I=Ve(V),q=0;for(;te(I,V)&&q<20;)I=Ve(V),q+=1;return I})(L);g(P);try{if(typeof i=="function"){const W=P.filter((V,te)=>V.text===u(L[te])).length;i({shuffled:P,score:W,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const W=P.filter((V,te)=>V.text===u(L[te])).length;n({shuffled:P,score:W,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,P)=>{const W=[...p],V=L+P;if(V<0||V>=W.length)return;const te=W[V];W[V]=W[L],W[L]=te,$(W);try{if(typeof n=="function"&&f==="active"){const I=W.filter((q,O)=>q.text===u(m[O])).length;n({shuffled:W,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[x,v]=l.useState(null),C=l.useRef(null),w=l.useRef(null),_=l.useRef(null),k=l.useRef(null),y=l.useRef(null),A=l.useRef({x:0,y:0}),T=l.useRef(null),S=l.useRef({dx:0,dy:0}),D=()=>{if(T.current!==null)return;const L=()=>{T.current=requestAnimationFrame(L);const P=A.current,W=S.current||{dx:0,dy:0};C.current&&(C.current.style.transform=`translate3d(${P.x-W.dx}px, ${P.y-W.dy}px, 0)`)};T.current=requestAnimationFrame(L)},H=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return H.current.forEach((P,W)=>{P&&P.getBoundingClientRect&&L.set(W,P.getBoundingClientRect())}),L},$=L=>{const P=E();g(L);try{if(typeof i=="function"){const W=L.filter((V,te)=>V.text===u(m[te])).length;i({shuffled:L,score:W,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const W=E();L.forEach(V=>{const te=P.get(V.id),I=W.get(V.id),q=H.current.get(V.id);if(!q||!te||!I)return;const O=te.top-I.top;O&&(q.style.transition="none",q.style.transform=`translateY(${O}px)`,requestAnimationFrame(()=>{q.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",q.style.transform="";const ie=()=>{q.style.transition="",q.removeEventListener("transitionend",ie)};q.addEventListener("transitionend",ie)}))})})},B=(L,P)=>{try{try{P.dataTransfer?.setData("text/plain",String(L))}catch{}try{P.dataTransfer&&(P.dataTransfer.effectAllowed="move")}catch{}try{const W=document.createElement("div");W.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(W),P.dataTransfer?.setDragImage(W,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(W)}catch{}})}catch{}}catch{}v(L);try{const W=p[L],V=document.createElement("div");V.className="order-list__dragging-object order-list__dragging-object--visible",V.textContent=W&&W.text?W.text:"",document.body.appendChild(V),C.current=V;const te=H.current.get(W.id);let I=P.clientX||0,q=P.clientY||0;try{if(te&&te.getBoundingClientRect){const be=te.getBoundingClientRect();I=be.left+be.width/2,q=be.top+be.height/2}}catch{}const O=V.getBoundingClientRect(),ie=O.width/2,pe=O.height/2;S.current={dx:ie,dy:pe},V.style.transition="none",A.current={x:I,y:q},V.style.transform=`translate3d(${I-ie}px, ${q-pe}px, 0)`,requestAnimationFrame(()=>{try{V.style.transition=""}catch{}D()});const ve=be=>{const M=be;A.current={x:M.clientX,y:M.clientY},D()};_.current=ve,document.addEventListener("mousemove",ve);const xe=be=>{const M=be;A.current={x:M.clientX,y:M.clientY},D()};w.current=xe,document.addEventListener("dragover",xe);try{P.dataTransfer?.setData("text/plain",String(L));try{P.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},F=(L,P)=>{P.preventDefault();try{P.dataTransfer&&(P.dataTransfer.dropEffect="move")}catch{}try{y.current!==null&&(clearTimeout(y.current),y.current=null);const W=P.currentTarget&&P.currentTarget.closest?P.currentTarget.closest(".order-list__item"):null;if(W&&k.current!==W){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{W.classList.add("drag-over")}catch{}k.current=W}}catch{}},X=(L,P)=>{P.preventDefault();const W=P.dataTransfer?.getData("text/plain")||"",V=W?parseInt(W,10):x,te=L;if(typeof V!="number"||isNaN(V)||V===te){v(null),N(),Q();return}const I=Wi(p,V,te);$(I),v(null),Q();try{if(typeof n=="function"&&f==="active"){const q=I.filter((O,ie)=>O.text===u(m[ie])).length;n({shuffled:I,score:q,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const q=document.querySelectorAll(".order-list .order-list__item")[te];if(!q)return;const O=q.querySelector(".order-list__slot")||q;try{O.classList.add("pulse"),O.offsetHeight,O.classList.add("to-dark");const ie=()=>{O.classList.remove("pulse","to-dark"),O.removeEventListener("transitionend",ie)};O.addEventListener("transitionend",ie)}catch{}})}catch{}N()},Q=()=>{if(C.current){try{document.body.removeChild(C.current)}catch{}C.current=null}w.current&&(document.removeEventListener("dragover",w.current),w.current=null),_.current&&(document.removeEventListener("mousemove",_.current),_.current=null),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null)},oe=()=>{v(null),N(),Q()};l.useEffect(()=>()=>Q(),[]);const N=()=>{try{if(y.current!==null&&(clearTimeout(y.current),y.current=null),k.current){try{k.current.classList.remove("drag-over")}catch{}k.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(L=>L.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const L=Math.max(1,(p||[]).length);p.forEach((P,W)=>{const V=R.current.get(P.id);if(!V)return;let te=50;L>1&&(te=Math.round(W/(L-1)*100));try{V.style.setProperty("--marker-pos",te+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{Q(),y.current!==null&&(clearTimeout(y.current),y.current=null)},[]),o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,P)=>{const W=Math.max(1,(p||[]).length),V=W>1?Math.round(P/(W-1)*100):50;return o.jsx("div",{className:"order-list__item",children:o.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?o.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":V+"%"},ref:te=>{const I=R.current;te?I.set(L.id,te):I.delete(L.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:P+1})}):null,o.jsxs("div",{ref:te=>{const I=H.current;te?I.set(L.id,te):I.delete(L.id)},className:`order-list__draggable ${x===P?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?te=>B(P,te):void 0,onDragEnter:f==="active"?te=>F(P,te):void 0,onDragOver:f==="active"?te=>F(P,te):void 0,onDragLeave:f==="active"?()=>{try{y.current!==null&&clearTimeout(y.current),y.current=setTimeout(()=>{try{const te=document.querySelectorAll(".order-list .order-list__item");te&&te[P]&&(te[P].classList.remove("drag-over"),k.current===te[P]&&(k.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?te=>X(P,te):void 0,onDragEnd:f==="active"?oe:void 0,children:[o.jsx("span",{className:"order-list__item-text body-2",children:L.text}),f==="active"?o.jsxs("span",{className:"order-list__item-buttons",children:[o.jsx(ne,{size:32,type:"dot",onClick:()=>b(P,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:P===0,useBorder:!1,useDisabledInvisible:!0}),o.jsx(ne,{size:32,type:"dot",onClick:()=>b(P,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:P===p.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},L.id)})})})}var m7="";ae(m7);const b7=8e3;function g7(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function Cc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:m}){const{t:h}=me.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),f=m??3,b=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const x=typeof e=="number"?e:-1,v=typeof t!="number"?"disabled":x<t?"done":x===t?"active":"disabled",[C,w]=l.useState(null),_=l.useRef([]),[k,y]=l.useState(!1),A=l.useMemo(()=>g.map(H=>H?.id??H?.word??"").join("|"),[g]);l.useEffect(()=>{w(null),_.current=[]},[A]);const T=l.useCallback((H,R)=>{if(c)return;const E={item:H,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,v,n]),S=l.useCallback(async()=>{if(!(k||v==="disabled")){y(!0);try{for(const H of _.current)H&&await g7(H.play(),b7)}finally{y(!1)}}},[k,v]),D=l.useCallback((H,R)=>{if(v!=="active")return;w(R);const E={selectedValue:H.word||H.title||"",selectedIndex:R,item:H,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[i,v,n]);return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!u&&b.length>0,onPlayAll:S,playAllActive:k},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((H,R)=>o.jsx(Nn,{ref:E=>{_.current[R]=E},item:H,disabled:v==="disabled",onPlayDone:()=>T(H,R),selectable:c,selected:c&&C===R,onSelect:c?()=>D(H,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},H&&H.id||R))})})}const f7=160;var v7=".ihabdevteam-core-scope .panel{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:visible;padding:0;text-align:left}.ihabdevteam-core-scope .panel--no-border{border:none}.ihabdevteam-core-scope .panel--no-bg{background:transparent;border-radius:0}.ihabdevteam-core-scope .panel--no-border .panel-row{padding-left:0;padding-right:0}.ihabdevteam-core-scope .panel--no-row-border .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);box-sizing:border-box;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin:0;padding:0 20px}.ihabdevteam-core-scope .panel__header:last-child{border-bottom:none}.ihabdevteam-core-scope .panel--small .panel__header{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel__header{min-height:56px}.ihabdevteam-core-scope .panel--large .panel__header{min-height:64px}.ihabdevteam-core-scope .panel__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:var(--spacing-s);width:20px}.ihabdevteam-core-scope .panel__title-group{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}.ihabdevteam-core-scope .panel__title{color:var(--color-darkGray);margin:0}.ihabdevteam-core-scope .panel__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .panel__actions{display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .panel-row{align-items:center;box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;padding:4px 20px}.ihabdevteam-core-scope .panel--small .panel-row{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel-row{min-height:56px}.ihabdevteam-core-scope .panel--large .panel-row{min-height:64px}.ihabdevteam-core-scope .panel-row+.panel-row{border-top:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row{border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel--no-row-border .panel-row{border-bottom:none}.ihabdevteam-core-scope .panel>:not(.panel-row)+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid{grid-gap:1px;background:var(--color-darkWhite);display:grid;gap:1px;grid-template-columns:repeat(2,1fr);grid-template-columns:repeat(var(--panel-grid-cols,2),1fr);overflow:hidden;padding-bottom:1px}.ihabdevteam-core-scope .panel-grid .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-row--empty{color:var(--color-lightGray);justify-content:center}.ihabdevteam-core-scope .panel-row--loading{justify-content:center}.ihabdevteam-core-scope .panel__body--scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .panel-row--content{display:block;min-height:0;padding:16px}.ihabdevteam-core-scope .panel-row--content+.panel-row--content{border-top:none}.ihabdevteam-core-scope .panel-row__icon{align-items:center;display:flex;flex-shrink:0;margin-right:-4px}.ihabdevteam-core-scope .panel-row__left{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .panel-row__sub{color:var(--color-gray);margin-top:2px}.ihabdevteam-core-scope .panel-row__right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:767px){.ihabdevteam-core-scope .panel-row{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__right{flex:0 1 auto;min-width:0}}.ihabdevteam-core-scope .panel--form .panel-row{grid-gap:var(--spacing-m);align-items:center;display:grid;gap:var(--spacing-m);grid-template-columns:80px 1fr;grid-template-columns:var(--panel-label-width,80px) 1fr}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width){align-items:flex-start}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width) .panel-row__left{padding-top:9px}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__left{flex:0 0 120px;flex:0 0 var(--panel-label-width,120px)}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .panel-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__text{color:var(--color-darkGray);overflow-wrap:break-word;text-align:right;word-break:break-word}.ihabdevteam-core-scope .panel-row--text .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--block{align-items:stretch;display:flex;flex-direction:column;justify-content:center}.ihabdevteam-core-scope .panel-row__description{color:var(--color-gray);line-height:1.6;margin:0;overflow-wrap:break-word;word-break:break-word}.ihabdevteam-core-scope .panel-row__dropdown-group{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .panel-row__dropdown-group--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__text--full{text-align:left;width:100%}.ihabdevteam-core-scope .panel-row__input-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__input-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--vertical{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .panel-row--vertical .panel-row__left{flex:none;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__right{align-items:flex-start;flex:none;justify-content:flex-start;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__text{margin-left:0;text-align:left}.ihabdevteam-core-scope .panel-row--device{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:0;padding:0}.ihabdevteam-core-scope .panel-row__device-column{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:164px;padding:14px 16px}.ihabdevteam-core-scope .panel-row__device-column+.panel-row__device-column{border-left:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__device-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:32px}.ihabdevteam-core-scope .panel-row__device-side{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info{margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info,.ihabdevteam-core-scope .panel-row__device-kind{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.ihabdevteam-core-scope .panel-row__device-name{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-detail{color:var(--color-gray)}.ihabdevteam-core-scope .panel-row__device-date{color:var(--color-lightGray);margin-top:2px}.ihabdevteam-core-scope .panel-row__device-empty{align-items:center;color:var(--color-lightGray);display:flex;flex:1;justify-content:center;text-align:center}.ihabdevteam-core-scope .required-mark{color:var(--color-main);margin-left:2px}.ihabdevteam-core-scope .panel-row__error{color:var(--color-error);margin-top:4px}.ihabdevteam-core-scope .panel-row__helper{color:var(--color-lightGray);margin-top:4px}.ihabdevteam-core-scope .panel-row__button-group{display:flex;gap:6px}@media (max-width:767px){.ihabdevteam-core-scope .panel-row__dropdown-group{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1 1 104px}}";ae(v7);const Tb=()=>{};function Da(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:x,onClick:v,children:C,align:w="horizontal",icon:_}=e,k=y=>{v&&y.target===y.currentTarget&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),v())};return o.jsxs("div",{className:_e("panel-row",w==="vertical"?"panel-row--vertical":"",v?"panel-row--clickable":""),onClick:v,onKeyDown:v?k:void 0,role:v?"button":void 0,tabIndex:v?0:void 0,children:[_!=null&&o.jsx("div",{className:"panel-row__icon",children:_}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),x&&o.jsx("div",{className:"panel-row__sub caption-1",children:x})]}),o.jsx("div",{className:"panel-row__right",children:C})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(So,{size:28})});if(e.variant==="custom"&&!e.label)return o.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:n,onClick:i,required:s,error:c,align:d="horizontal",useFullWidth:u=!1,icon:m}=e;let h=null;const p=a==="toggle"?`panel-toggle-${t}`:void 0;if(a==="toggle"){const b=e;h=o.jsx(Gl,{checked:b.checked,onChange:b.onChange,id:p})}else if(a==="segmented"){const b=e;h=o.jsx(Va,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,x=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((v,C)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:v.options,value:v.value,onChange:v.onChange,placeholder:v.placeholder,block:u,error:!!c,ariaLabel:v.ariaLabel??([r,v.placeholder].filter(Boolean).join(" ")||void 0)})},C))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Tb,block:u,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[x,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):x}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((x,v)=>o.jsx(ne,{size:x.btnSize??40,variant:x.btnVariant??"default",disabled:x.disabled,onClick:x.onClick,children:x.label},v))}):h=o.jsx(ne,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[o.jsx(Wa,{value:b.value,onChange:b.onChange??Tb,onKeyDown:b.onKeyDown,onEnter:b.onEnter,placeholder:b.placeholder,inputMode:b.inputMode,readOnly:b.readOnly,disabled:b.disabled,type:b.type,autoComplete:b.autoComplete,maxLength:b.maxLength,showCount:b.showCount,multiline:b.multiline,rows:b.rows,fullWidth:u,error:c,ariaLabel:r,required:s}),b.helperText&&o.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(h=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,f=b=>{i&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i())};return o.jsxs("div",{className:_e("panel-row",d==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",i?"panel-row--clickable":""),onClick:i,onKeyDown:i?f:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:[m!=null&&o.jsx("div",{className:"panel-row__icon",children:m}),o.jsxs("div",{className:"panel-row__left",children:[p?o.jsxs("label",{htmlFor:p,className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}):o.jsxs("div",{className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}),n&&o.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),o.jsx("div",{className:"panel-row__right",children:h})]})}function Lb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Mb({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(n=>{const i=e[n],s=n==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return o.jsxs("div",{className:"panel-row__device-column",children:[o.jsxs("div",{className:"panel-row__device-head",children:[o.jsx("span",{className:"panel-row__device-side body-2b",children:s}),i&&t&&o.jsx(ne,{size:32,type:"dot",icon:"x",ariaLabel:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(n)})]}),i?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&o.jsx(ht,{size:"small",variant:km(i.device),fill:"soft",label:i.device}),Lb(i)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:Lb(i)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:`${i.wornYear}.${i.wornMonth}.${i.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},n)})})}function Ar({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,useBorder:u=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:f,empty:b,children:x}){const v=_e("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",u?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),C={};return i!==void 0&&(C.minHeight=i),s!==void 0&&(C.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(C["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:v,style:Object.keys(C).length?C:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:_e("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(We,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),o.jsxs("div",{className:"panel__title-group",children:[e!=null&&o.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&o.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&o.jsx("div",{className:"panel__actions",children:r})]}),f?o.jsx(Da,{variant:"loading"}):b!=null&&(x==null||Array.isArray(x)&&x.length===0)?o.jsx(Da,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:x}):x]})}function $b({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function x7(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function Rb(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}x7(Ca.t.bind(Ca)),Rb(Ca.t.bind(Ca));var _7='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';ae(_7);const yc="none",C7=.5,y7=1.5,w7=.25;function wc({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:d}){return o.jsxs(Da,{variant:"custom",label:e,useFullWidth:!0,children:[o.jsx(Zl,{value:a,onChange:d,min:r,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),o.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function kc({anchorRect:e,onClose:t}){const{t:a}=me.useTranslation(),r=Qt("(max-width: 767px)")?40:24,n=mc(),i=n?.settings.level??0,s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=F8(i),u=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(x=>{try{n?.setMainVolume(Math.max(0,Math.min(1,x/100)))}catch{}},[n]),g=l.useCallback(x=>{try{n?.setPlaybackRate(x)}catch{}},[n]),f=l.useCallback(x=>{const v=H8(x);try{n?.setSettings({level:v})}catch{}},[n]),b=l.useCallback(x=>{try{x===yc?n?.setSettings({enabled:!1}):n?.setSettings({type:x,enabled:!0})}catch{}},[n]);return o.jsx(Aa,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:o.jsxs("div",{className:"noise-settings__header",children:[o.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),o.jsx(ne,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:o.jsxs(Ar,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(wc,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:r,onChange:p}),o.jsx(wc,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:C7,max:y7,step:w7,size:r,onChange:g}),o.jsx(wc,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${d}%`,value:d,min:0,max:100,step:10,size:r,onChange:f}),o.jsx(Da,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Va,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:yc,label:a("training.noise.type.none","\uC5C6\uC74C")},...Rb(a).map(x=>({key:x.value,label:x.label}))],value:c?s:yc,onChange:b})})]})})}var k7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}";ae(k7);function Ac({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=me.useTranslation(),[u,m]=l.useState(!1),[h,p]=l.useState(null),[g,f]=l.useState(!1),b=l.useRef(null),x=l.useRef(null),v=mc(),C=s<c-1,w=s===c-1,_=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const k=l.useCallback(()=>{m(!1),p(null)},[]),y=l.useCallback(()=>{if(u){m(!1),p(null);return}const S=b?.current?.getBoundingClientRect();S&&p(S),t?.(),m(!0)},[u,t]),A=l.useCallback(()=>{if(u){m(!1),p(null);return}const S=x?.current?.getBoundingClientRect();S&&p(S),t?.(),m(!0)},[u,t]),T=l.useCallback(()=>f(S=>!S),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"bar",icon:"settings",onClick:y,selected:u,ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),o.jsx("div",{className:"pp-bottom__settings--mobile",children:o.jsx("div",{ref:x,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"dot",icon:"settings",onClick:A,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(ne,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:T,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(kn,{analyser:v?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),o.jsx(kn,{analyser:v?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[w&&o.jsx(ne,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!_}),C&&o.jsx(ne,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!_})]}),e&&u&&o.jsx(kc,{anchorRect:h,onClose:k})]})}var A7=".ihabdevteam-core-scope .training-page-top{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-title.training-popup-title{align-items:center;background:var(--color-deepWhite);border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:var(--spacing-s);justify-content:space-between;padding:12px 16px;position:relative;width:100%;z-index:6}.ihabdevteam-core-scope .pp-title__left{align-items:center;display:flex;gap:var(--spacing-s);min-width:0}.ihabdevteam-core-scope .pp-title__text{display:flex;flex-direction:column;min-width:0}.ihabdevteam-core-scope .pp-title__depth{color:var(--color-gray)}.ihabdevteam-core-scope .pp-title__title{font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__title--empty{color:var(--color-whiteLine)}.ihabdevteam-core-scope .pp-title__description{color:var(--color-gray);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .pp-title.training-popup-title{gap:var(--spacing-xs);padding:10px 12px}.ihabdevteam-core-scope .pp-title__depth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__left{flex:1;min-width:0;overflow:hidden}}";ae(A7);function Sc({title:e,subtitle:t,desc:a,depth:r,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:d,progressMax:u,progressIndex:m,onBack:h,onClose:p}){const{t:g}=me.useTranslation(),f=Qt("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,x=Number.isInteger(u)?u:d||0,v=h||p,C=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,_=typeof t=="string"?t.trim():t,k=!!(w||_),y=k?w||_:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=C||t,T=f&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,S=l.useMemo(()=>{const D=i&&typeof i=="object"?{...i}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[v?o.jsx(ne,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:v,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Dm,{icon:n,label:e,tooltip:s,wrapperStyle:S}):null}),o.jsxs("div",{className:"pp-title__text",children:[T?o.jsx("span",{className:"pp-title__depth caption-1",children:T}):null,o.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:y}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Ql,{max:Math.max(0,x??0),index:Math.max(0,b??0)})]})}function Pb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function zb(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}function Bc(e,t,a){const r=e,n=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=tn().find(c=>c.key===(r?.category_0||r?.category_main_code)),s=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:n,label:r?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?.label,s?.label].filter(Boolean).join(" / ")||void 0}}function On(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Ib(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Ob({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=Bc(t,a,r),u=typeof c=="function"?c(d)||{}:c||{},m=t?.id||t?.title||n.length;return{id:`${e}:${m}`,meta:{...d,...u},pages:n,emptyMessage:i,buildResults:s}}function Fb(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Hb(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function Wb(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function Nc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Vb(e,t,a,r){return Nc(e,t*a+r)}function Gb({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return r.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>r.includes(i));if(typeof n.correct=="boolean")return n.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(n=>String(n)===String(a[t]));if(typeof t<"u")return r.some(n=>String(n)===String(t))}}function Ub(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const Yb=l.createContext(null);function S7(){const e=l.useContext(Yb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function B7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[u,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=l.useCallback(f=>{d==="active"&&m(b=>{const x=[...b];if(x[f]!==null){const C=x[f];return x.map(w=>w!==null&&w>=C?null:w)}x[f]=p;const v={selectedOrder:x,words:n,__ts:Date.now()};try{typeof s=="function"&&s(v)}catch{}if(x.every(C=>C!==null))try{typeof i=="function"&&i(v)}catch{}return x})},[d,p,s,i,n]);return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:r,onDone:i,children:o.jsx("div",{className:"training-step__cards",children:n.map((f,b)=>o.jsx(Nn,{item:{word:f},disabled:d==="disabled",selectable:!0,selected:u[b]!==null,orderRank:u[b],onSelect:()=>g(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${f}-${b}`))})})}function Sr(e){return null}Sr.__isTrainingPage=!0;function jo(e,t){const a=S7();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function Dc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=jo(e,t);return o.jsx(zn,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function jc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(Rn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Ec({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(Pn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Tc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(In,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Lc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(Cc,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function N7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(B7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var D7=`.ihabdevteam-core-scope .trp-result{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;position:relative}.ihabdevteam-core-scope .popup--training-result .popup-header{padding:var(--spacing-l) var(--spacing-l) 0;position:absolute;right:0;top:0;z-index:1}.ihabdevteam-core-scope .trp-result__head{padding:12px 72px 20px;position:relative;text-align:center}.ihabdevteam-core-scope .trp-result__eyebrow{align-items:center;color:var(--color-main);display:inline-flex;gap:var(--spacing-xs);letter-spacing:.22em;margin:0 0 14px;text-transform:uppercase}.ihabdevteam-core-scope .trp-result__eyebrow:after,.ihabdevteam-core-scope .trp-result__eyebrow:before{background:currentColor;content:"";height:1px;opacity:.35;width:24px}.ihabdevteam-core-scope .trp-result__title{color:var(--color-black);font-size:28px;margin:0}.ihabdevteam-core-scope .trp-result__subtitle{color:var(--color-gray);margin:10px 0 0}.ihabdevteam-core-scope .trp-score{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-m);margin:36px auto 8px}.ihabdevteam-core-scope .trp-score__figure{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:var(--spacing-s)}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{align-self:flex-end;color:var(--color-lightGray);font-size:44px;letter-spacing:-1px;padding-bottom:18px}.ihabdevteam-core-scope .trp-score__big{background:var(--color-main);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:112px;letter-spacing:-5px;line-height:.92}.ihabdevteam-core-scope .trp-result__body{padding:16px 0 0}.ihabdevteam-core-scope .result-table{width:100%}.ihabdevteam-core-scope .result-table__head{grid-gap:var(--spacing-m);border-bottom:1px solid var(--color-whiteLine);color:var(--color-lightGray);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;letter-spacing:.16em;padding:12px 4px 14px;text-transform:uppercase}.ihabdevteam-core-scope .result-table--answer .result-table__head,.ihabdevteam-core-scope .result-table--answer .result-table__row{grid-template-columns:1fr 200px 100px}.ihabdevteam-core-scope .result-table__head .col-right{text-align:center}.ihabdevteam-core-scope .result-table__row{grid-gap:var(--spacing-m);align-items:center;border-bottom:1px solid var(--color-whiteLine);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;padding:22px 4px;transition:background .18s ease}.ihabdevteam-core-scope .result-table__row:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .result-table__row:last-child{border-bottom:0}.ihabdevteam-core-scope .trp-row__problem{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__no{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;width:32px}.ihabdevteam-core-scope .trp-row__q{color:var(--color-black);letter-spacing:-.1px}.ihabdevteam-core-scope .trp-row__judge{align-self:center;display:flex;justify-content:center}.ihabdevteam-core-scope .trp-row__answers{align-self:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-row__answer-line{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__answer-label{flex-shrink:0;width:32px}.ihabdevteam-core-scope .trp-row__answer-label.answer-correct{color:var(--color-lightGray)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .trp-row__answer-value{color:var(--color-black)}.ihabdevteam-core-scope .trp-row__answer-value.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-value.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{align-items:center;background:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-s);justify-content:center;padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-s)}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ihabdevteam-core-scope .trp-result.is-on{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .trp-score__big{animation:result-rise .7s cubic-bezier(.22,.9,.3,1) .1s both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(2){animation-delay:.18s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(3){animation-delay:.24s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(4){animation-delay:.3s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(5){animation-delay:.36s}@media (max-width:767px){.ihabdevteam-core-scope .trp-result{padding:0}.ihabdevteam-core-scope .trp-result__head{padding:0 20px 20px}.ihabdevteam-core-scope .trp-result__body{padding:0}.ihabdevteam-core-scope .popup-footer.trp-result__foot{border-top:1px solid var(--color-whiteLine);gap:var(--spacing-xs);padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .trp-actions>*{flex:1;min-width:0}.ihabdevteam-core-scope .trp-score{gap:10px;margin:20px auto 4px}.ihabdevteam-core-scope .trp-score__big{font-size:72px;letter-spacing:-3px}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{font-size:28px;padding-bottom:10px}.ihabdevteam-core-scope .result-table__head{display:none}.ihabdevteam-core-scope .result-table__head,.ihabdevteam-core-scope .result-table__row{gap:var(--spacing-xs);grid-template-columns:1fr auto}.ihabdevteam-core-scope .result-table__row{padding:14px 4px}.ihabdevteam-core-scope .trp-row__judge{justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .result-table__row{align-items:start;gap:6px;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:14px 4px}.ihabdevteam-core-scope .result-table--answer .trp-row__judge{grid-row:1;justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .trp-row__problem{grid-row:2}.ihabdevteam-core-scope .result-table--answer .trp-row__answers{grid-row:3}
980
+ `).map((s,c,d)=>o.jsxs(l.Fragment,{children:[s,c<d.length-1&&o.jsx("br",{})]},c))})}),o.jsxs("div",{className:"site-footer__links",children:[o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.soundDirection","\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/vr-sound-localization",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.vrSoundDirection","VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://ihab-offcial-web.vercel.app/product/hearing-test-pro",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.hearingTest","\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C")})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://blog.naver.com/ihab_official",target:"_blank",rel:"noopener noreferrer",children:i("footer.sns.naverBlog","\uB124\uC774\uBC84 \uBE14\uB85C\uADF8")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"https://www.youtube.com/@%EC%95%84%EC%9D%B4%ED%95%B4%EB%B8%8C-%EA%B3%B5%EC%8B%9D%EC%B1%84%EB%84%90",target:"_blank",rel:"noopener noreferrer",children:"Youtube"})})]})]}),o.jsxs("div",{className:"site-footer__column",children:[o.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),o.jsxs("ul",{children:[o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),o.jsx("li",{children:o.jsx("a",{className:"footer-link",href:"#",onClick:s=>{t&&(s.preventDefault(),t())},children:i("footer.policy.privacy","\uAC1C\uC778\uC815\uBCF4 \uCC98\uB9AC\uBC29\uCE68")})})]})]})]})]}),o.jsx("hr",{className:"site-footer__rule"}),o.jsxs("div",{className:"site-footer__bottom",children:[o.jsx("div",{className:"site-footer__brand",children:o.jsx("img",{src:Il,alt:"IHAB",className:"site-footer__logo"})}),o.jsxs("div",{className:"site-footer__meta",children:[o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),o.jsx("span",{className:"footer-meta caption-1",children:i("footer.addressValue","\uAC15\uC6D0\uB3C4 \uCD98\uCC9C\uC2DC \uC2DC\uCCAD\uAE38 32 \uD574\uCC2C\uBE4C\uB529 3\uCE35 302\uD638")})]}),o.jsxs("div",{children:[o.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),o.jsxs("span",{className:"footer-meta caption-1",children:[r," \xA0 ",n]})]})]})]}),o.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var I8='.ihabdevteam-core-scope .landing-header{background:var(--landing-header-bg,var(--color-deepWhite));border-bottom:1px solid rgba(15,18,60,.05);border-bottom:1px solid var(--landing-header-border,rgba(15,18,60,.05));position:sticky;top:0;transform:translateZ(0);will-change:transform;z-index:500;z-index:var(--z-sticky,500)}.ihabdevteam-core-scope .landing-header__inner{align-items:center;display:flex;height:72px;height:var(--landing-header-height,72px);justify-content:space-between;position:relative}.ihabdevteam-core-scope .landing-header__brand{align-items:center;display:flex;flex:0 0 auto;margin-right:auto;text-decoration:none}.ihabdevteam-core-scope .landing-header__logo{display:block;height:40px;height:var(--landing-header-logo-height,40px);max-width:none;transform-origin:left center;transition:transform .3s cubic-bezier(.2,.9,.2,1.2),filter .3s;width:auto}.ihabdevteam-core-scope .landing-header__brand:hover .landing-header__logo{filter:brightness(1.08);transform:scale(1.05)}.ihabdevteam-core-scope .landing-header__links{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;gap:36px;left:50%;position:absolute;transform:translateX(-50%)}.ihabdevteam-core-scope .landing-header__links a{color:inherit;padding:6px 0;position:relative;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__links a:hover{color:var(--landing-header-link-hover,var(--color-main))}.ihabdevteam-core-scope .landing-header__links a:after{background:linear-gradient(90deg,var(--color-main),var(--color-sub));border-radius:1px;bottom:0;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .35s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__links a:hover:after{right:0}.ihabdevteam-core-scope .landing-header__actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .landing-header__toggle{align-items:center;background:none;border:0;color:var(--landing-header-link-color,var(--color-deepGray));cursor:pointer;display:none;height:44px;justify-content:center;margin-right:-10px;width:44px}.ihabdevteam-core-scope .landing-header__burger{display:block;height:14px;position:relative;width:22px}.ihabdevteam-core-scope .landing-header__burger>span{background:currentColor;border-radius:1px;height:2px;inset-inline:0;position:absolute;transition:transform .2s cubic-bezier(.2,.7,.2,1),opacity .2s cubic-bezier(.2,.7,.2,1)}.ihabdevteam-core-scope .landing-header__burger>span:first-child{top:0}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(2){top:6px}.ihabdevteam-core-scope .landing-header__burger>span:nth-child(3){top:12px}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:first-child{transform:translateY(6px) rotate(45deg)}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(2){opacity:0}.ihabdevteam-core-scope .landing-header__toggle--open .landing-header__burger>span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ihabdevteam-core-scope .landing-header__drawer{background:var(--landing-header-bg,var(--color-deepWhite));border-top:1px solid rgba(15,18,60,.05)}.ihabdevteam-core-scope .landing-header__drawer-item{display:block}.ihabdevteam-core-scope .landing-header__drawer-item a{align-items:center;color:var(--landing-header-link-color,var(--color-deepGray));display:flex;font-size:15px;font-weight:500;min-height:48px;text-decoration:none;transition:color .2s}.ihabdevteam-core-scope .landing-header__drawer-item a:hover,.ihabdevteam-core-scope .landing-header__drawer-item a[aria-current=page]{color:var(--landing-header-link-hover,var(--color-main))}@media (max-width:960px){.ihabdevteam-core-scope .landing-header__links{display:none}.ihabdevteam-core-scope .landing-header__toggle{display:flex}}@media (min-width:961px){.ihabdevteam-core-scope .landing-header__drawer{display:none}}';ae(I8);function kb({logo:e,logoAlt:t="",logoHref:a,links:r=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:d={open:"\uBA54\uB274 \uC5F4\uAE30",close:"\uBA54\uB274 \uB2EB\uAE30"}}){const[u,m]=l.useState(!1),h=s?`${s} landing-header__inner`:"landing-header__inner",p=(g,f)=>c?c(g,{onClick:f}):o.jsx("a",{href:g.href,onClick:f,"aria-current":g.current?"page":void 0,children:g.label});return o.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[o.jsxs("div",{className:h,children:[e!=null&&(()=>{const g=typeof e=="string"?o.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?o.jsx("a",{href:a,className:"landing-header__brand",children:g}):o.jsx("div",{className:"landing-header__brand",children:g})})(),r.length>0&&o.jsx("nav",{className:"landing-header__links",children:r.map(g=>o.jsx("span",{children:p(g)},g.href))}),o.jsxs("div",{className:"landing-header__actions",children:[n,r.length>0&&o.jsx("button",{type:"button",onClick:()=>m(g=>!g),"aria-expanded":u,"aria-controls":"landing-header-drawer","aria-label":u?d.close:d.open,className:u?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:o.jsxs("span",{className:"landing-header__burger",children:[o.jsx("span",{}),o.jsx("span",{}),o.jsx("span",{})]})})]})]}),r.length>0&&o.jsx("nav",{id:"landing-header-drawer",hidden:!u,className:"landing-header__drawer",children:o.jsx("div",{className:s??void 0,children:r.map(g=>o.jsx("span",{className:"landing-header__drawer-item",children:p(g,()=>m(!1))},g.href))})})]})}var O8=".ihabdevteam-core-scope .bottom-sticky{animation:bottom-sticky-in .4s cubic-bezier(.2,.9,.2,1) both;bottom:24px;bottom:var(--bottom-sticky-offset,24px);left:50%;max-width:680px;max-width:var(--bottom-sticky-max-width,680px);position:fixed;transform:translateX(-50%);width:calc(100% - 48px);z-index:500;z-index:var(--z-sticky,500)}@keyframes bottom-sticky-in{0%{opacity:0;transform:translateX(-50%) translateY(16px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:center;background:var(--bottom-sticky-bg,var(--color-pureWhite));border-radius:20px;border-radius:var(--radius-m,20px);box-shadow:0 8px 40px rgba(15,18,60,.18),0 2px 8px rgba(15,18,60,.06);display:flex;gap:16px;gap:var(--spacing-m,16px);justify-content:space-between;padding:12px 12px 12px 24px;transition:box-shadow .2s,transform .2s}.ihabdevteam-core-scope .bottom-sticky__inner--clickable{cursor:pointer}.ihabdevteam-core-scope .bottom-sticky__inner--clickable:hover{border:1px solid var(--color-main);box-shadow:0 16px 56px color-mix(in srgb,var(--color-main) 30%,transparent),0 4px 12px color-mix(in srgb,var(--color-main) 15%,transparent);transform:translateY(-4px)}.ihabdevteam-core-scope .bottom-sticky__content{align-items:center;display:flex;flex:1;gap:12px;gap:var(--spacing-s,12px);justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{align-items:center;color:var(--color-black);display:flex;gap:0;margin:0;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-highlight{background:linear-gradient(90deg,var(--color-main),var(--color-sub),var(--color-infoLink));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline}.ihabdevteam-core-scope .bottom-sticky__tagline-part{align-items:center;display:flex;white-space:nowrap}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{display:block;height:32px;width:auto}@media (max-width:600px){.ihabdevteam-core-scope .bottom-sticky{bottom:16px;bottom:var(--bottom-sticky-offset,16px);width:calc(100% - 32px)}.ihabdevteam-core-scope .bottom-sticky__inner{align-items:stretch;flex-direction:column;gap:12px;gap:var(--spacing-s,12px);padding:16px;padding:var(--spacing-m,16px)}.ihabdevteam-core-scope .bottom-sticky__content{flex:none;gap:6px;justify-content:center}.ihabdevteam-core-scope .bottom-sticky__tagline{flex-wrap:wrap;justify-content:center;text-align:center;white-space:normal}.ihabdevteam-core-scope .bottom-sticky__tagline-logo{height:26px}}";ae(O8);function Ab({children:e,action:t,onClick:a,className:r}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return o.jsx("div",{className:r?`bottom-sticky ${r}`:"bottom-sticky",children:o.jsxs("div",{className:n,onClick:a,...Bm(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const hc=9,F8=e=>Math.round(Math.min(hc,Math.max(0,e))/hc*100),H8=e=>e/100*hc,Sb={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},Bb=l.createContext(null);function mc(){return l.useContext(Bb)}const bc=e=>`${ii()}/${e}`,Nb=e=>Array.from({length:10},(t,a)=>bc(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),$n={get defaultNoise(){return bc("noise1.mp3")},get street(){return Nb("noise2")},get restaurant(){return Nb("noise3")},get buzz(){return bc("noise4.mp3")}};function W8(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return $n.defaultNoise;case"street":return $n.street[t];case"restaurant":return $n.restaurant[t];case"buzz":return $n.buzz;default:return null}}function V8({noisePlayer:e,audioRef:t,playbackStateRef:a}){const r=l.useRef(e?.registerAnalyser);r.current=e?.registerAnalyser;const n=l.useRef(null),[i,s]=l.useState(null),c=l.useRef(null),d=l.useRef(null),u=l.useRef(null),m=l.useRef(0),h=l.useRef(null),p=l.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null),h.current!==null&&(clearTimeout(h.current),h.current=null)},[]),g=l.useCallback((x,v=250)=>{const C=n.current;if(!C||!C.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Vo(C))}catch{}const w=C.paused?0:C.volume;C.paused&&(C.volume=0),C.play().catch(()=>{});const _=performance.now(),k=()=>{const y=Math.min(1,(performance.now()-_)/v);try{C.volume=Math.max(0,Math.min(1,w+(x-w)*y))}catch{}y<1?u.current=requestAnimationFrame(k):u.current=null};u.current=requestAnimationFrame(k)},[p]),f=l.useCallback((x=250,v)=>{const C=n.current;if(!C||C.paused){v?.();return}const w=++m.current;p();const _=performance.now(),k=C.volume,y=()=>{const A=Math.min(1,(performance.now()-_)/x);try{C.volume=Math.max(0,k*(1-A))}catch{}if(A<1)u.current=requestAnimationFrame(y);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{C.pause()}catch{}v?.()}};u.current=requestAnimationFrame(y),h.current=setTimeout(()=>{if(h.current=null,m.current===w){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{C.paused||(C.volume=0,C.pause(),v?.())}catch{}}},x+150)},[p]);l.useEffect(()=>{const x=document.createElement("audio");return x.loop=!0,x.crossOrigin="anonymous",n.current=x,()=>{p();try{x.pause(),x.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let x=0;const v=setInterval(()=>{const C=n.current;if(!C||C.paused){x=0;return}const w=t.current;if(w&&!w.paused&&!w.ended||a.current==="playing"){x=0;return}x+=1,x>=2&&(x=0,f())},400);return()=>clearInterval(v)},[f,b,t,a]),l.useEffect(()=>{const x=()=>{if(!document.hidden)return;const v=n.current;if(v&&!v.paused){p();try{v.pause()}catch{}}};return document.addEventListener("visibilitychange",x),()=>document.removeEventListener("visibilitychange",x)},[p]),l.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,level:e.settings.level,type:e.settings.type}:null},[e,e?.settings.enabled,e?.settings.level,e?.settings.type]),l.useEffect(()=>{const x=e?.settings,v=n.current;if(!v)return;if(!x||!x.enabled||x.level===0){f();return}const C=Math.min(1,x.level/9);if(c.current!==x.type){const w=W8(x.type);w&&(c.current=x.type,s(w),f(150,()=>{v.src=w,v.load();const _=t.current;_&&!_.paused&&v.addEventListener("canplay",function k(){v.removeEventListener("canplay",k);const y=t.current;y&&!y.paused&&!y.ended&&g(C)})}))}else{const w=t.current,_=!!w&&!w.paused&&!w.ended;if(_&&v.paused&&v.src)g(C);else if(!v.paused)if(!_)f();else{p();const k=v.volume,y=performance.now(),A=()=>{const T=Math.min(1,(performance.now()-y)/150);try{v.volume=k+(C-k)*T}catch{}T<1?u.current=requestAnimationFrame(A):u.current=null};u.current=requestAnimationFrame(A)}}},[e?.settings,e?.settings.enabled,e?.settings.level,e?.settings.type,p,g,f,t]),l.useEffect(()=>{const x=n.current;if(x)try{x.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:d,cancelNoiseFade:p,fadeInNoise:g,fadeOutNoise:f}}function G8({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),f=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const x=(w,_=1)=>{try{const k=(w||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(w||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},v=l.useCallback(w=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof h.current=="function"&&h.current(!0)}catch{}return}const _=window.speechSynthesis;try{try{_.cancel()}catch{}const k=w??e,y=(Array.isArray(k)?k[0]??"":k)||"",A=new SpeechSynthesisUtterance(y);try{A.rate=Math.max(.3,Math.min(3,t))}catch{}try{A.volume=Math.max(0,Math.min(1,a))}catch{}f.current=x(y,A.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const T=m.current;T?.enabled&&(T?.level??0)>0&&d(T.level/9);const S=()=>{try{const D=g.current||performance.now(),H=performance.now()-D,R=f.current||1200,E=Math.min(1,H/R);i(E);try{r.current&&(r.current.style.left=`${E*100}%`),n.current&&n.current.style.setProperty("--progress",String(E))}catch{}E<1&&(b.current=requestAnimationFrame(S))}catch{}};A.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},A.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(S)}catch{}};try{_.speak(A)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,d,r,n,i,s,c,m,h,p]),C=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),u(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:v,stopTTS:C}}var U8='.ihabdevteam-core-scope .audio-player{align-items:center;display:flex;flex-direction:column;width:100%}.ihabdevteam-core-scope .audio-player__no-waveform{align-items:center;align-self:flex-start;color:var(--color-lightGray);display:flex;gap:4px;margin:6px 0 0}.ihabdevteam-core-scope .audio-player__no-waveform .iconRenderer-icon{align-items:center;display:inline-flex}.ihabdevteam-core-scope .audio-player__panel{align-items:center;background:linear-gradient(90deg,var(--color-main),var(--color-sub));background:linear-gradient(var(--angle,90deg),var(--color-main),var(--color-sub));border-radius:var(--radius-m);display:flex;height:120px;position:relative;width:100%}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__panel{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__wave{pointer-events:none}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__buttons .button,.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__play .button{opacity:.7}.ihabdevteam-core-scope .audio-player__play{align-items:center;bottom:0;display:flex;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:relative;right:0;top:0;transition:opacity .16s ease,transform .16s ease;width:100%;z-index:10}.ihabdevteam-core-scope .audio-player__play.is-visible{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .audio-player__panel>.button{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .16s ease,transform .16s ease;will-change:opacity,transform;z-index:35}.ihabdevteam-core-scope .audio-player__button{align-items:center;background:transparent;border:0;cursor:pointer;display:flex;inset:0;justify-content:center;padding:0;position:absolute;z-index:35}.ihabdevteam-core-scope .audio-player__button-triangle-wrap{align-items:center;display:flex;height:90px;justify-content:center;transition:transform .32s cubic-bezier(.2,.7,.2,1);width:90px}.ihabdevteam-core-scope .audio-player__button:hover .audio-player__button-triangle-wrap{transform:scale(1.18)}.ihabdevteam-core-scope .audio-player__button:active .audio-player__button-triangle-wrap{transform:scale(1.06)}.ihabdevteam-core-scope .audio-player__button-triangle{height:100%;width:100%}.ihabdevteam-core-scope .audio-player__button-triangle path{fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6}.ihabdevteam-core-scope .audio-player.is-disabled .audio-player__button{cursor:default;opacity:.5;pointer-events:none}.ihabdevteam-core-scope .audio-player__slider{align-items:center;bottom:50px;box-sizing:border-box;display:flex;left:20px;pointer-events:none;position:absolute;right:20px;top:20px}.ihabdevteam-core-scope .audio-player__buttons{align-items:center;border-radius:999px;bottom:10px;box-sizing:border-box;display:flex;gap:0;height:28px;justify-content:center;left:0;pointer-events:auto;position:absolute;right:0;z-index:40}.ihabdevteam-core-scope .audio-player__source-buttons{align-items:center;border:1px solid var(--color-white-a30);border-radius:var(--radius-m);display:inline-flex;justify-content:center;overflow:visible}.ihabdevteam-core-scope .audio-player__source-buttons .button{flex:0 0 auto;max-width:60px}.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\B2E4\\C74C],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C774\\C804],.ihabdevteam-core-scope .audio-player__buttons .button[aria-label=\\C815\\C9C0]{display:none}.ihabdevteam-core-scope .audio-player__buttons>.button{align-items:center;display:inline-flex;justify-content:center;margin:0;width:auto}.ihabdevteam-core-scope .audio-player__fill{backface-visibility:hidden;background:var(--color-pureWhite);border-radius:var(--radius-sm);height:100%;left:0;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%) scaleY(0);transform-origin:center center;transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .16s ease;width:8px;will-change:transform,opacity;z-index:70}.ihabdevteam-core-scope .audio-player__fill.is-visible{opacity:1}.ihabdevteam-core-scope .audio-player__fill.is-expanded{transform:translateX(-50%) translateY(-50%) scaleY(1)}.ihabdevteam-core-scope .audio-player__fill.is-paused{transition:opacity .16s ease}.ihabdevteam-core-scope .audio-player__fill.is-out{animation:audio-player-fill-out .28s cubic-bezier(.2,.8,.2,1) forwards}@keyframes audio-player-fill-out{0%{opacity:1;transform:translateX(-50%) translateY(-50%) scaleY(1)}to{opacity:0;transform:translateX(-50%) translateY(-50%) scaleY(0)}}.ihabdevteam-core-scope .audio-player__loading{align-items:center;background:transparent;border-radius:var(--radius-sm);color:rgba(0,0,0,.85);color:var(--audio-loading-foreground,rgba(0,0,0,.85));display:inline-flex;font-size:13px;gap:var(--spacing-xs);left:50%;padding:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:999}.ihabdevteam-core-scope .audio-player__debug{align-items:center;background:hsla(0,0%,100%,.06);border-radius:18px;color:#fff;display:flex;font-size:12px;gap:8px;padding:6px 10px;pointer-events:none;position:absolute;right:12px;top:12px}.ihabdevteam-core-scope .audio-player__debug-dot{border-radius:10px;box-shadow:0 0 6px rgba(0,0,0,.4);display:inline-block;height:10px;width:10px}.ihabdevteam-core-scope .audio-player__loading .audio-player__loading-text,.ihabdevteam-core-scope .audio-player__panel.is-loading .audio-player__loading-text{display:none}.ihabdevteam-core-scope .audio-player__loading-spinner{animation:audio-player-spinner .9s linear infinite;border:4px solid hsla(0,0%,100%,.2);border-radius:50%;border-top-color:#fff;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));height:40px;width:40px}@keyframes audio-player-spinner{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .audio-player__wave{height:90%;position:absolute}.ihabdevteam-core-scope .audio-player__wave,.ihabdevteam-core-scope .audio-player__wave-inner{align-items:center;display:flex;justify-content:center;pointer-events:none;width:100%;z-index:60}.ihabdevteam-core-scope .audio-player__wave-inner{cursor:default;gap:3px;gap:var(--bar-gap,3px);height:100%;margin:0 auto;padding:0}.ihabdevteam-core-scope .audio-player__wave-inner:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}@keyframes wave-bar-in{0%{opacity:0;transform:translateY(-50%) scaleY(.05)}to{opacity:1;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15))}}.ihabdevteam-core-scope .audio-player__wave-inner.is-ready .audio-player__bar--hidden:after,.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar--hidden:after{animation:none;opacity:0}.ihabdevteam-core-scope .audio-player__wave-played{bottom:0;clip-path:inset(0 100% 0 0);clip-path:inset(0 calc((1 - var(--progress, 0))*100%) 0 0);left:0;pointer-events:none;position:absolute;right:0;top:0}.ihabdevteam-core-scope .audio-player__bar{box-sizing:border-box;flex:0 0 3px;flex:0 0 var(--bar-w,3px);height:100%;position:relative}.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:61}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-unplayed .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.15);transform:translateY(-50%) scaleY(var(--val,.15));transform-origin:center center;z-index:62}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-played .audio-player__bar:after{background:color-mix(in srgb,var(--color-lightMain),var(--color-lightSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise{align-items:center;bottom:0;display:flex;gap:3px;gap:var(--bar-gap,3px);justify-content:center;left:0;margin:0 auto;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:58}.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) 0);border-radius:999px;content:"";height:100%;left:0;opacity:1;position:absolute;right:0;top:50%;transform:translateY(-50%) scaleY(.1);transform:translateY(-50%) scaleY(var(--val,.1));transform-origin:center center;z-index:58}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .audio-player__wave-noise .audio-player__bar:after{background:color-mix(in srgb,var(--color-deepMain),var(--color-deepSub) calc(var(--mix, 0)*100%))}}.ihabdevteam-core-scope .audio-player__wave-noise:not(.is-ready) .audio-player__bar:after{opacity:0}.ihabdevteam-core-scope .audio-player__wave-noise.is-ready .audio-player__bar:after{animation:wave-bar-in .35s cubic-bezier(.22,.9,.3,1) both;animation-delay:0ms;animation-delay:calc(var(--i, 0)*2ms)}.ihabdevteam-core-scope .audio-player__segments{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;position:relative;width:100%}.ihabdevteam-core-scope .audio-player__segment{align-items:center;cursor:pointer;display:flex;height:100%;justify-content:center;padding:10px 0;pointer-events:auto;position:relative}.ihabdevteam-core-scope .audio-player__segment-inner{align-items:center;display:flex;gap:3px;gap:var(--bar-gap,3px);height:100%;justify-content:center;width:100%}';ae(U8);async function Y8(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,d=Math.max(t,c),u=Math.floor(d/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*u,f=Math.min(g+u,d);let b=0;for(let x=g;x<f;x++){const v=Math.abs(s[x]);v>b&&(b=v)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Db(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await Y8(r,t,a)}catch(r){try{const n=Kr(r)}catch{}return null}}const jb=4;function q8(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseLevel:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(null),[x,v]=l.useState(!1),[C,w]=l.useState(null),[_,k]=l.useState(2),[y,A]=l.useState(0),[T,S]=l.useState(null),[D,H]=l.useState(!1),R=3,E=3,$=1,B=300,F=l.useRef(0),X=l.useCallback(async(ie,pe)=>{const ve=++F.current,xe=()=>F.current===ve;try{if(v(!1),!ie){xe()&&b(null);return}let be=pe;if(!be)try{for(let Ne=0;Ne<4&&!(p.current||g.current);Ne++)await new Promise(Ie=>requestAnimationFrame(Ie));await new Promise(Ne=>requestAnimationFrame(Ne));const U=p.current,re=g&&g.current?g.current:U?U.closest(".audio-player__wave"):null,ge=re?re.getBoundingClientRect():U?U.getBoundingClientRect():null,ce=ge?Math.max(100,ge.width):320,z=ge?ge.height:0;z>0&&A(z),be=Math.max($,Math.min(B,Math.floor((ce+E)/(R+E))));const J=be*R,Z=Math.max(0,be-1),fe=Z>0?(ce-J)/Z:E;k(Math.max(0,fe))}catch{be=120}const M=await Db(ie,be);if(!xe())return;if(!M){b(null),v(!1);return}b(M),w(be),v(!0)}catch{if(!xe())return;b(null),v(!1)}},[v,b,A,k,w]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;X(typeof ie=="string"?ie:void 0).catch(()=>{}),H(!1)},[t,a,X]),l.useEffect(()=>{let ie=!1;if(!i||!C){S(null);return}const pe=d>0?d*(c||1):void 0;return Db(i,C,pe).then(ve=>{ie||S(ve)}).catch(()=>{ie||S(null)}),()=>{ie=!0}},[i,C,d,c]);const Q=Math.max(0,Math.min(1,u)),oe=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),N=C||40,L=l.useMemo(()=>Array.from({length:N}).map((ie,pe)=>{const ve=f&&f[pe]!=null?f[pe]:null,xe=ve==null?null:Math.min(1,ve/oe*Q),be=xe!=null&&y>0&&xe*y<=jb,M=xe==null?.15:be?0:xe,U=N>1?pe/(N-1):0;return o.jsx("div",{className:be?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":pe,"--mix":U}},pe)}),[N,f,oe,Q,y]),P={"--progress":String(Math.max(0,Math.min(1,r)))},W={"--bar-gap":`${_}px`},V=Math.max(0,Math.min(9,s))/9,te=x&&(i?!!T:!0);l.useEffect(()=>{te&&H(!0)},[te]);const I=D?x:te;l.useEffect(()=>{m?.(I)},[I,m]);const q=C||40,O=l.useMemo(()=>Array.from({length:q}).map((ie,pe)=>{const ve=T&&T[pe]!=null?T[pe]:null,xe=ve==null?0:Math.min(1,ve/oe*V),be=y>0&&xe*y<=jb,M=be?0:xe,U=q>1?pe/(q-1):0;return o.jsx("div",{className:be?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":pe,"--mix":U}},pe)}),[q,T,oe,V,y]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:W,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${te?"is-ready":""}`,"aria-hidden":"true",children:O}),h&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${I?"is-ready":""}`,ref:p,children:L}),o.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${I?"is-ready":""}`,ref:n,style:P,children:L})]})]})}const K8={idle:"\uB300\uAE30",resolving:"\uB9AC\uC18C\uC2A4 \uB9E4\uD551 \uC911\u2026",checking_exists:"\uD30C\uC77C \uC874\uC7AC \uD655\uC778\u2026",getting_signed_url:"\uC11C\uBA85 URL \uC870\uD68C\u2026",downloading:"\uB2E4\uC6B4\uB85C\uB4DC \uC911\u2026",measuring_duration:"\uC624\uB514\uC624 \uAE38\uC774 \uCE21\uC815\u2026",ready:"\uC900\uBE44 \uC644\uB8CC",error:"\uC624\uB958 \uBC1C\uC0DD"};function gc(e,t){return new Promise((a,r)=>{const n=document.createElement("audio");let i=!1;const s=()=>{try{n.src=""}catch{}},c=()=>{if(i)return;i=!0;const u=isFinite(n.duration)&&n.duration||0;s(),a(u)},d=u=>{i||(i=!0,s(),t.rejectOnError?r(new Error(u)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>d("audio load failed")),setTimeout(()=>d("audio load timeout"),t.timeoutMs),n.src=e})}const Z8=2e3;function Eb(e,t=Z8){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function X8({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const r=l.useRef(!1),n=l.useRef([]),i=l.useCallback(d=>{if(r.current=d,!d||!n.current.length)return;const u=n.current;n.current=[];for(const m of u)m()},[]),s=l.useCallback(()=>{r.current=!1},[]),c=l.useCallback(()=>!e&&!t||r.current?Promise.resolve():new Promise(d=>{const u=setTimeout(d,a);n.current.push(()=>{clearTimeout(u),d()})}),[e,t,a]);return l.useEffect(()=>()=>{const d=n.current;n.current=[];for(const u of d)u()},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function J8(){const e=l.useRef([]),t=l.useCallback(n=>(e.current.push(n),n),[]),a=l.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(s=>{if(i.has(s))return!0;try{URL.revokeObjectURL(s)}catch{}return!1})},[]),r=l.useCallback(()=>{a([])},[a]);return l.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:r}}function Q8({offsetY:e=8}={}){const t=l.useRef(null),[a,r]=l.useState(null),n=l.useCallback(()=>r(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;r({left:s.left,right:s.right,width:s.width,height:s.height,x:s.x,top:s.top+e,bottom:s.bottom+e,y:s.y+e,toJSON:s.toJSON.bind(s)})}catch{}},[e]);return l.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function e7({currentTime:e,sources:t,index:a,audioDuration:r}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||r||0:r||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function t7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function a7({ended:e,completedByEnd:t}){return!!e||!!t}function o7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function r7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function n7(e,t,a){const r=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of r)if(i){if(typeof i=="object"&&i!==null&&"src"in i&&i.src){const s=i;n.push({code:s.code??null,src:s.src});continue}if(typeof i=="string"&&(i.startsWith("http")||i.includes("/"))){n.push({code:null,src:i});continue}if(typeof i=="string"||typeof i=="number"){const s=String(i),c=a(s,t);c&&n.push({code:s,resolvedPath:c})}}return n}function i7({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:r,currentIndexRef:n}){const i=l.useRef(null),s=l.useCallback(()=>{i.current!==null&&(cancelAnimationFrame(i.current),i.current=null)},[]),c=l.useCallback(()=>{if(i.current!==null)return;const u=()=>{try{const m=e.current,h=e7({currentTime:m&&typeof m.currentTime=="number"?m.currentTime:0,sources:r.current,index:n.current,audioDuration:m&&m.duration?m.duration:0});try{t.current&&(t.current.style.left=`${h*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(h))}catch{}}catch{}i.current=requestAnimationFrame(u)};i.current=requestAnimationFrame(u)},[e,t,a,r,n]),d=l.useCallback(u=>{s();try{t.current&&(t.current.style.left=`${u*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(u))}catch{}},[s,t,a]);return l.useEffect(()=>s,[s]),{start:c,stop:s,settleTo:d}}function kr({btnLabel:e,soundSrc:t,bucketPath:a,onDone:r,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=me.useTranslation(),m=e,h=mc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null),x=J8(),v=l.useRef(null),C=l.useRef(!1),w=l.useRef(0),_=l.useRef(null),{ref:k,rect:y,show:A,hide:T}=Q8();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[S,D]=l.useState(!1),[H,R]=l.useState("idle"),[E,$]=l.useState("stopped"),B=l.useRef("stopped");l.useEffect(()=>{B.current=E},[E]);const[F,X]=l.useState(0),[Q,oe]=l.useState("active"),[N,L]=l.useState(null),[P,W]=l.useState(null),[V,te]=l.useState(0),[I,q]=l.useState(!1),[O,ie]=l.useState(0),pe=h?.playbackRate??1,ve=h?.mainVolume??1,[xe,be]=l.useState("idle"),[M,U]=l.useState(""),[re]=l.useState("top"),ge=l.useRef(null),ce=l.useRef(0),z=l.useRef(null),{start:J,stop:Z,settleTo:fe}=i7({audioRef:g,fillRef:f,waveProgressRef:z,sourcesRef:ge,currentIndexRef:ce}),{onReadyChange:Ne,waitForReady:Ie,markNotReady:Me}=X8({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=l.useRef(null),je=l.useRef(n),Ae=l.useRef(r),Fe=l.useRef(null),Xe=l.useRef(!1),[we,He]=l.useState(!1),Te=l.useCallback(G=>{Xe.current=G,He(G)},[]),Ue=l.useRef(null),{activeNoiseUrl:et,noiseSettingsRef:Ke,fadeInNoise:Oe,fadeOutNoise:dt}=V8({noisePlayer:h,audioRef:g,playbackStateRef:B}),{startTTS:xt,stopTTS:Ze}=G8({ttsText:i,playbackRate:pe,mainVolume:ve,fillRef:f,waveProgressRef:z,setProgress:X,setPlaybackState:$,setStateLocal:oe,fadeInNoise:Oe,fadeOutNoise:dt,noiseSettingsRef:Ke,onDoneRef:Ae,handleEndRef:Ue}),st=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Le=(!st||st.length===0)&&!!i,Pe=Array.isArray(N)&&N.length>0?N:Array.isArray(P)&&P.length>0?P:null,rt=Math.max(Array.isArray(Pe)?Pe.length:0,st.length),nt=l.useCallback(async(G,ee=3,de=50)=>{for(let Ce=0;Ce<ee;Ce++)try{return await G.play(),!0}catch(ye){if((ye instanceof Error||typeof ye=="object"&&ye&&"name"in ye?ye.name:void 0)==="AbortError"){await new Promise(De=>setTimeout(De,de));continue}try{U(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{U(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),tt=l.useCallback(()=>{const G=g.current;if(!G)return;const ee=()=>{$("playing"),oe("playMode"),q(!0),J();try{Wo(),p.current?.("main",Vo(G))}catch{}const ye=Ke.current;ye?.enabled&&(ye?.level??0)>0&&Oe(ye.level/9)},de=()=>{a7({ended:!!G?.ended,completedByEnd:Xe.current})||($("paused"),Z(),dt())},Ce=()=>{try{const ye=ge.current,De=t7(ye,ce.current);if(De!==null){ce.current=De,te(De),q(!0);const ze=ye?.[De]&&ye[De].src;if(ze&&G){G.src=ze,G.load(),nt(G).catch(()=>{});return}}}catch{}$("stopped"),X(1);try{if(G)try{G.currentTime=0}catch{}}catch{}Z(),q(!1),dt();try{!je.current&&Ue.current&&Ue.current()}catch{}};return G.addEventListener("play",ee),G.addEventListener("pause",de),G.addEventListener("ended",Ce),()=>{try{G.removeEventListener("play",ee),G.removeEventListener("pause",de),G.removeEventListener("ended",Ce),Z()}catch{}}},[Oe,dt,nt,Ke,J,Z]);l.useEffect(()=>tt(),[tt]),l.useEffect(()=>{je.current=n},[n]),l.useEffect(()=>{Ae.current=r},[r]),l.useEffect(()=>{if(n||Q!=="active")return;const G=_.current;if(!G)return;let ee=null;const de=requestAnimationFrame(()=>{try{const Ce=G.getTotalLength();if(!Ce)return;const ye=Ce*.2;G.style.strokeDasharray=`${Ce-ye} ${ye}`;const De="triFlow_"+Math.random().toString(36).slice(2);ee=document.createElement("style"),ee.textContent=`@keyframes ${De}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Ce}}}`,document.head.appendChild(ee),G.style.animation=`${De} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(de),ee?.remove()}},[Q,n]),l.useEffect(()=>{ge.current=N},[N]),l.useEffect(()=>{ce.current=V},[V]),l.useEffect(()=>{const G=b.current,ee=v.current;if(!G||!ee)return;let de=null;const Ce=32,ye=60,De=()=>{try{const ut=Array.from(G.querySelectorAll(":scope > .button"));let ue=0;ut.forEach(Yt=>{if(Yt===ee)return;const Eo=Yt.getBoundingClientRect();ue+=Eo.width});const Se=G.getBoundingClientRect().width,Ge=Math.max(0,Math.floor(Se-ue-8)),mt=rt;if(!mt||Ge<=0){Array.from(ee.children).forEach(Yt=>{try{Yt.style.width=""}catch{}});return}let _t=Math.floor(Ge/mt);_t>ye&&(_t=ye),_t<Ce&&(_t=Math.max(Ce,Math.floor(Ge/mt))),Array.from(ee.querySelectorAll(".button")).forEach(Yt=>{try{Yt.style.width=`${_t}px`}catch{}})}catch{}},ze=requestAnimationFrame(De);try{de=new ResizeObserver(()=>{requestAnimationFrame(De)}),de.observe(G),de.observe(ee),window.addEventListener("resize",De)}catch{}return()=>{try{cancelAnimationFrame(ze)}catch{}try{de&&(de.disconnect(),de=null)}catch{}try{window.removeEventListener("resize",De)}catch{}}},[N,P,rt]),l.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Fe.current&&(clearTimeout(Fe.current),Fe.current=null)}catch{}},[]);const lt=(G,ee)=>{L(G),ie(ee),Me(),W(o7(G)),ge.current=G},yt=async(G,ee)=>{Te(!1),C.current=!1,G.src=ee,G.load(),await Eb(G),await Ie(),D(!1),await nt(G),oe("playMode"),te(0),q(!0)},aa=async(G,ee=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await gc(G,{timeoutMs:1e4,rejectOnError:!0});lt([{src:G,objectUrl:null,duration:Ce}],Ce),R("ready"),ee&&de&&await yt(de,G)}finally{C.current=!1,D(!1)}},at=async(G,ee=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await Promise.all(G.map(De=>gc(De,{timeoutMs:1e4}))),ye=G.map((De,ze)=>({src:De,objectUrl:null,duration:Ce[ze]||0}));lt(ye,r7(ye)),R("ready"),ee&&de&&ye.length>0&&await yt(de,ye[0].src)}finally{C.current=!1,D(!1)}},Lt=async(G=!1,ee=!0)=>{const de=g.current,Ce=t?Array.isArray(t)?t:[t]:[];if(!(!Ce||Ce.length===0||!Ce.some(Boolean))&&!C.current){C.current=!0,ee&&D(!0),R("resolving");try{const ye=n7(t,a,Tr),De=[];let ze=0;for(const ut of ye){let ue=ut.src??null,Se=null;if(!ue&&ut.resolvedPath){try{R("getting_signed_url"),ue=await Oo(ut.resolvedPath)}catch{ue=null}if(!ue)try{R("downloading");const mt=await Lr(ut.resolvedPath);if(mt){const _t=mt instanceof Blob?mt:new Blob([mt]);Se=x.track(URL.createObjectURL(_t)),ue=Se}}catch{R("error");try{U(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),oe("active")}catch{}}}if(!ue)continue;let Ge=0;try{R("measuring_duration"),Ge=await gc(ue,{timeoutMs:3e3})}catch{Ge=0}ze+=Ge||0,De.push({...ut,src:ue,objectUrl:Se,duration:Ge})}if(lt(De,ze),De.length>0&&G&&de){const ut=De[0];Te(!1);try{x.keepOnly(De.map(ue=>ue.objectUrl))}catch{}if(R("ready"),C.current=!1,ut.src&&de)try{de.src=ut.src,de.load(),await Eb(de),await Ie(),ee&&D(!1),de&&await nt(de)}catch{ee&&D(!1)}else ee&&D(!1);oe("playMode"),te(0),q(!0)}}finally{C.current=!1,ee&&D(!1),R(ye=>ye==="ready"?"ready":"idle")}}},Pt=async()=>{const G=g.current;if(!(!G&&!Le)){if(Le){const ee=window.speechSynthesis;if(Q==="active"){const de=Fo(),Ce=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(de&&Ce.length>0){oe("load"),D(!0),R("resolving"),C.current=!0;try{const ye=await Promise.all(Ce.map(De=>Promise.resolve(de(De))));ye.length>1?await at(ye,!0):await aa(ye[0],!0)}catch{C.current=!1,D(!1),oe("active"),xt(Ce[0]||void 0)}return}xt(Ce[0]||void 0);return}if(Q==="playMode"){if(G){if(G.paused){if(Xe.current){await Wt();return}await nt(G),$("playing")}else G.pause(),$("paused");return}try{if(ee&&ee.paused)try{ee.resume(),$("playing")}catch{}else try{ee.pause(),$("paused")}catch{}}catch{}}return}if(Q==="active"){if(n&&Array.isArray(ge.current)&&ge.current.length>0){const ee=ge.current[0];try{if(ee.src&&G)try{G.src=ee.src,G.load(),G&&await nt(G)}catch{}oe("playMode"),te(0),q(!0);return}catch{}}oe("load"),await Lt(!0);return}if(Q!=="load"&&(Q==="playMode"||Q==="active"))try{if(G&&G.paused){if(Xe.current){await Wt();return}G&&await nt(G),$("playing")}else G&&(G.pause(),$("paused"))}catch(ee){(ee instanceof Error||typeof ee=="object"&&ee&&"name"in ee)&&ee.name}}},Wt=async()=>{const G=g.current;if(G)try{const ee=ge.current;if(Array.isArray(ee)&&ee.length>1){await Et(0);return}Te(!1);try{G.currentTime=0}catch{}G&&await nt(G),$("playing"),oe("playMode")}catch{}},Ea=()=>{if(Le){Ze();return}const G=g.current;try{if(G){try{G.pause()}catch{}try{G.currentTime=0}catch{}}}catch{}dt(),$("stopped"),oe("active"),X(0),q(!1)},oa=async(G,{sameSegment:ee=!1}={})=>{const de=++w.current,Ce=g.current,ye=ge.current?.[G]?.src;try{if(Te(!1),te(G),q(!0),ce.current=G,!ye||!Ce||(ee||Me(),Ce.src=ye,Ce.load(),ee||await Ie(),de!==w.current)||(await nt(Ce),de!==w.current))return;$("playing"),oe("playMode")}catch{}},va=async()=>{const G=ge.current,ee=ce.current||0;if(!G||ee<=0){await Wt();return}await oa(ee-1)},Ta=async()=>{const G=ge.current,ee=ce.current||0;if(!G||ee>=G.length-1){Ea();return}await oa(ee+1)},jt=()=>{if(Xe.current)return;const G=200,ee=340;Te(!0);try{X(1)}catch{}fe(1);try{be("hold")}catch{}try{const de=g.current,Ce=Le&&!!de?.src;if(!Le||Ce){if(de){de.pause();try{de.currentTime=0}catch{}}}else Ze();dt()}catch{}try{$("stopped")}catch{}if(q(!1),!je.current)try{Fe.current&&(clearTimeout(Fe.current),Fe.current=null),Fe.current=setTimeout(()=>{try{be("out")}catch{}Fe.current=setTimeout(()=>{try{typeof Ae.current=="function"&&Ae.current(!0)}catch{}try{be("idle")}catch{}Fe.current=null},ee)},G)}catch{}};l.useEffect(()=>{Ue.current=jt});const Ya=l.useCallback(()=>U(""),[]),Et=async G=>{(ge.current||[])[G]&&await oa(G,{sameSegment:G===ce.current})},xa=E==="playing",qa=l.useMemo(()=>{if(!P||P.length<=1)return P;const G=P[V];return G?[G]:P},[P,V]),Je=n===!0;l.useEffect(()=>{try{const G=g.current;G&&typeof G.playbackRate=="number"&&(G.playbackRate=pe||1)}catch{}},[pe]),l.useEffect(()=>{try{const G=g.current;G&&(G.volume=Math.max(0,Math.min(1,ve)))}catch{}},[ve]);const zt=xe==="hold",wt=xe==="out",_a=Q==="playMode"&&!S&&!we||zt||wt,ra=E!=="stopped"||zt||wt,na=E==="paused",ia=Math.max(0,Math.min(100,(F||0)*100)),le=_e("audio-player__fill",_a?"is-visible":"",ra?"is-expanded":"",na?"is-paused":"",wt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Je?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${xa?"is-playing":""} ${S?"is-loading":""} ${Q!=="default"?"is-revealed":""}`,children:[S?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:K8[H]})]}):null,Q==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{T(),Pt()},"aria-label":typeof m=="string"?m:u("training.listen","\uB4E3\uAE30"),onMouseEnter:A,onMouseLeave:T,onFocus:A,onBlur:T,children:o.jsx("span",{ref:k,className:"audio-player__button-triangle-wrap",children:o.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:o.jsx("path",{ref:_,d:"M13.2 7.7 L16.5 9.85 Q20.2 12 16.5 14.15 L10 18.3 Q7 19.7 7 16.3 L7 7.7 Q7 4.3 10 5.7 L13.2 7.7"})})})}):null,y&&o.jsx(ha,{anchorRect:y,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${Q==="playMode"||xa?"is-visible":""}`,children:[o.jsxs("div",{ref:b,className:"audio-player__buttons",children:[o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:va,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:xa?"pause":"play",onClick:Pt,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ea,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),rt>1?o.jsx("div",{ref:v,className:"audio-player__source-buttons",children:Array.from({length:rt}).map((G,ee)=>o.jsx(ne,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(ee+1),onClick:()=>{try{Et(ee)}catch{}},ariaLabel:u("training.sourcePlay",{n:ee+1}),variant:"transparent-white",selected:I&&V===ee,disabled:Q!=="playMode"||!(Array.isArray(N)&&N[ee]),showTooltipInfo:!0},ee))}):null,!Array.isArray(N)||N.length<=1?o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Wt,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}):null,o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Ta,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:jt,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:le,ref:f,style:{left:`${ia}%`},"aria-hidden":"true"}),(c||d)&&o.jsx(q8,{segments:qa,progress:F,totalDuration:O,onSegmentClick:Et,waveProgressRef:z,showSoundWaveForm:c,noiseSrc:d&&h?.settings.enabled&&(h?.settings.level??0)>0?et:null,noiseLevel:h?.settings.level??0,noiseSpeed:h?.settings.speed??1,mainVolume:ve,onReadyChange:Ne})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(We,{icon:"triangle-alert",size:14}),u("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),o.jsx(ro,{message:M,position:re,onClose:Ya})]})}var s7=".ihabdevteam-core-scope .tooltip-textbox{background:var(--color-deepWhite);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-sizing:border-box;max-width:520px;padding:var(--spacing-content)}.ihabdevteam-core-scope .tooltip-textbox__root{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .tooltip-textbox__box{background:transparent}.ihabdevteam-core-scope .tooltip-textbox__label{color:var(--color-darkGray)}.ihabdevteam-core-scope .tooltip-textbox__text{color:var(--color-darkGray);overflow-wrap:anywhere;white-space:normal;word-break:keep-all}.ihabdevteam-core-scope .tooltip-textbox__line{align-items:center;display:flex;gap:var(--spacing-s);margin-bottom:0;min-height:60px;padding:10px 0}.ihabdevteam-core-scope .tooltip-textbox__line:last-child{margin-bottom:0}.ihabdevteam-core-scope .tooltip-textbox__line:not(:last-child){border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__line:not(:last-child){border-bottom-color:hsla(0,0%,100%,.06)}.ihabdevteam-core-scope .tooltip-textbox__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;min-width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .tooltip-textbox__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}.ihabdevteam-core-scope .tooltip-textbox__line-number{color:#fff;min-width:auto;text-align:center}.ihabdevteam-core-scope .tooltip-textbox__line-text{flex:1 1 auto}.ihabdevteam-core-scope .tooltip-textbox__buttons{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center;margin-top:10px;position:relative}.ihabdevteam-core-scope .tooltip-textbox.is-dark{background:var(--color-darkGray);border-color:var(--color-gray)}.ihabdevteam-core-scope .tooltip-textbox.is-dark .tooltip-textbox__text{color:var(--color-deepWhite)}";ae(s7);function Do(e){const{t}=me.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[d,u]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}=cn({storageKey:"tooltip-fontScale"}),x=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),v=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${f}px`,lineHeight:`${b}px`,"--tt-line-height":`${b}px`,"--tt-marker-size":"28px"},_=o.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[o.jsxs("div",{className:"tooltip-textbox__box",children:[r&&o.jsx("div",{className:"tooltip-textbox__label body-2b",children:r}),o.jsx("div",{className:"tooltip-textbox__text body-1",style:w,children:C.map((k,y)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[C.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:y+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},y))})]}),o.jsxs("div",{className:"tooltip-textbox__buttons",children:[o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:h,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!g}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:m,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!p}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:x,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:v,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Aa,{anchorRect:n,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,ariaLabel:r||t("tooltip.textbox","\uBCF8\uBB38"),children:_}):o.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:_})}var l7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .training-steps{box-sizing:border-box;display:flex;flex-direction:column;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:nowrap;gap:var(--spacing-m);overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__content{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;gap:var(--spacing-s);gap:var(--spacing-m);min-width:0;overflow:visible;width:100%}.ihabdevteam-core-scope .training-step__title{color:#0b2b35;color:var(--text,#0b2b35);margin:0;text-align:left}.ihabdevteam-core-scope .training-step__buttons{-ms-overflow-style:none;align-items:stretch;display:flex;flex-direction:row;gap:var(--spacing-content);overflow-x:auto;scrollbar-width:none;width:100%}.ihabdevteam-core-scope .training-step__buttons::-webkit-scrollbar{display:none}.ihabdevteam-core-scope .training-step__buttons>*{align-self:stretch;flex:1 1 0;margin:0;min-width:0}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:visible}.ihabdevteam-core-scope .training-step__buttons.training-step__buttons--wrap-3>*{width:100%}.ihabdevteam-core-scope .training-step__buttons .button{align-items:center;align-self:stretch;display:flex}@media (max-width:640px){.ihabdevteam-core-scope .training-step{flex-direction:row;gap:10px}}.ihabdevteam-core-scope .training-step__cards{box-sizing:border-box;display:flex;gap:var(--spacing-s);width:100%}@media (max-width:767px){.ihabdevteam-core-scope .training-step__cards{grid-gap:var(--spacing-s);display:grid;gap:var(--spacing-s);grid-template-columns:repeat(3,1fr)}}.ihabdevteam-core-scope .training-step__listen-sticky{width:100%}.ihabdevteam-core-scope .training-step.training-step--has-nested .training-step__content{margin-bottom:100px}.ihabdevteam-core-scope .training-steps>.training-step:last-child .training-step__content{margin-bottom:0}.ihabdevteam-core-scope .training-step:not(.training-step--last) .training-step__content{margin-bottom:var( --margin-page)}.ihabdevteam-core-scope .training-step.training-step--last .training-step__content{margin-bottom:0}";ae(l7);var c7='.ihabdevteam-core-scope .ts-bullet{--dot-size:28px;--dot-gap:10px;align-items:center;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;position:relative;width:28px;width:var(--dot-size)}.ihabdevteam-core-scope .bullet__dot{align-items:center;border:2px solid rgba(43,138,125,.12);border-radius:50%;display:flex;height:var(--dot-size);justify-content:center;width:var(--dot-size);z-index:2}.ihabdevteam-core-scope .bullet__icon{align-items:center;color:var(--color-darkGray);display:inline-flex;height:20px;justify-content:center;position:relative;width:20px;z-index:1}.ihabdevteam-core-scope .bullet__icon-img{display:block;height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-mask{background-color:currentColor;height:100%;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.ihabdevteam-core-scope .bullet__icon-svg svg{fill:currentColor;height:100%;width:100%}.ihabdevteam-core-scope .ts-bullet__line{background:var(--color-whiteLine);border-radius:var(--radius-xs);bottom:20px;left:50%;position:absolute;top:calc(var(--dot-size) + var(--dot-gap));transform:translateX(-50%);width:2px;z-index:1}.ihabdevteam-core-scope .ts-bullet--done .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--active .bullet__icon{color:#fff}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__icon{color:transparent}.ihabdevteam-core-scope .ts-bullet--done .bullet__dot{border:2px solid var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot{background-color:var(--color-main);position:relative}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after,.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:before{animation:bullet-ripple 3s cubic-bezier(.2,.6,.2,1) infinite;background:var(--color-main);border-radius:50%;content:"";inset:0;opacity:.5;pointer-events:none;position:absolute}.ihabdevteam-core-scope .ts-bullet--active .bullet__dot:after{animation-delay:1.5s;opacity:.3}@keyframes bullet-ripple{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(2.2)}}.ihabdevteam-core-scope .ts-bullet--disabled .bullet__dot{border:2px solid var(--color-whiteLine)}.ihabdevteam-core-scope .ts-bullet--done .bullet__line{background-color:var(--color-main)}.ihabdevteam-core-scope .ts-bullet--active .bullet__line,.ihabdevteam-core-scope .ts-bullet--disabled .bullet__line{background-color:var(--color-whiteLine)}.ihabdevteam-core-scope .training-step--last .ts-bullet__line,.ihabdevteam-core-scope .training-step.training-step--last .ts-bullet__line{display:none}@media (max-width:1024px){.ihabdevteam-core-scope .ts-bullet{--dot-size:26px}}@media (max-width:768px){.ihabdevteam-core-scope .ts-bullet{--dot-size:24px}}';ae(c7);function fc({state:e="disabled"}){const{t}=me.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(We,{icon:"chevron-right",label:t("training.next","\uB2E4\uC74C"),className:"bullet__icon",imgClassName:"bullet__icon-img",maskClassName:"bullet__icon-mask",svgClassName:"bullet__icon-svg",wrapperStyle:{},size:20})}),o.jsx("div",{className:"ts-bullet__line"})]})}var d7=".ihabdevteam-core-scope .training-step__title-row{align-items:center;display:flex;gap:var(--spacing-xs);padding-right:72px;position:relative;width:100%}.ihabdevteam-core-scope .training-step__title-row .training-step__title{color:var(--color-black);margin:0;padding:0}.ihabdevteam-core-scope .training-step__title--faded .training-step__title-text{background-color:var(--color-darkWhite);border-radius:var(--radius-xs);color:transparent;opacity:1;transition:color .14s ease,opacity .14s ease}.ihabdevteam-core-scope .training-step__title-row .title-controls{align-items:center;display:flex;gap:6px;margin-left:auto}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons{align-items:center;display:inline-flex;gap:6px;justify-content:center;overflow:visible;position:absolute;right:0;top:50%;transform:translateY(-50%)}.ihabdevteam-core-scope .training-step__title-row .title-controls .title-buttons .button28{align-items:center;display:inline-flex;justify-content:center}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--disabled .title-controls{opacity:.6;pointer-events:none}.ihabdevteam-core-scope .training-step__title-row--active .title-controls,.ihabdevteam-core-scope .training-step__title-row--done .title-controls{opacity:1;pointer-events:auto}.ihabdevteam-core-scope .training-step__title-row--disabled .training-step__title,.ihabdevteam-core-scope .training-step__title-row--done .training-step__title{color:var(--color-disabled)}.ihabdevteam-core-scope .training-step__title-row--active .training-step__title{color:var(--color-black)}";ae(d7);function vc({title:e,children:t,className:a="",state:r="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:m=!1}){const{t:h}=me.useTranslation(),p=Qt("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[x,v]=l.useState(!1),[C,w]=l.useState(null),[_,k]=l.useState(null),y=l.useRef(i);l.useEffect(()=>{y.current=i});const A=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(D=>typeof D=="string"||typeof D=="number")?s.join(""):"",[s]),T=l.useCallback(()=>{v(!1),w(null),k(null)},[]);l.useEffect(()=>{if(!x)return;let D;try{typeof y.current=="function"&&(D=y.current())}catch{}if(D===!1){T();return}k(typeof D<"u"&&D!==null?D:null)},[A]);const S=l.useCallback(()=>{let D;try{typeof i=="function"&&(D=i())}catch{}if(D!==!1){if(k(typeof D<"u"&&D!==null?D:s),!b.current){v(H=>!H);return}if(x)v(!1),w(null),k(null);else{const H=b.current.getBoundingClientRect();w(H),v(!0)}}},[i,s,x]);return o.jsxs("div",{className:f,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[d&&o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:x,onClick:S,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),x&&o.jsx(Do,{text:_??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:T,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function xc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Ua({index:e,stepIndex:t,isLast:a=!1,title:r="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=me.useTranslation(),[m,h]=l.useState(()=>xc(e,t));l.useEffect(()=>{const k=xc(e,t);if(k!==m){const y=setTimeout(()=>h(k),0);return()=>clearTimeout(y)}},[e,t,m]);const p=l.useCallback((...k)=>{xc(e,t)==="done"||m==="done"||typeof c=="function"&&c(...k)},[e,t,m,c]),[g,f]=l.useState(!1),[b,x]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),v=l.useCallback(k=>{if(!k)return null;try{const y=k;if(typeof k=="object"&&(y.currentTarget||y.target)&&(y.nativeEvent||y.type)){const S=y.currentTarget??y.target;if(S&&typeof S.getBoundingClientRect=="function")return S.getBoundingClientRect()}if(k instanceof DOMRect)return k;const A=k;if(A&&typeof A.getBoundingClientRect=="function")return A.getBoundingClientRect();const T=k?.current;return T&&typeof T.getBoundingClientRect=="function"?T.getBoundingClientRect():null}catch{return null}},[]),C=l.useCallback((k,{text:y="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:T=!1,alignX:S="center",alignY:D="top"}={})=>{const H=v(k);x({text:y,label:A,anchorRect:H,backdrop:T,alignX:S,alignY:D}),f(!0)},[v]),w=l.useCallback(()=>{f(!1),x(k=>({...k,anchorRect:null}))},[]),_=l.Children.map(i,k=>{if(l.isValidElement(k)){const y=k;if(typeof y.type=="string")return y;const A=y.props??{},T=typeof A.onDone=="function"?A.onDone:p,S=typeof A.disabled=="boolean";let D=m==="disabled";return S&&(D=!!A.disabled),l.cloneElement(y,{onDone:T,disabled:D,showTooltip:C,hideTooltip:w})}return k});return o.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${s}`,"aria-current":m==="active",children:[o.jsx(fc,{state:m}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(vc,{state:m,title:r,...n,useFaded:d}),_]}),g?o.jsx(Aa,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:w,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(Do,{text:b.text,onClose:w})}):null]})}var u7='.ihabdevteam-core-scope .training-text-box{background:var(--color-darkWhite);border:1px solid var(--color-deepWhite);border-radius:var(--radius-m);color:var(--color-black);display:flex;flex-direction:column;max-width:100%;min-height:160px;overflow:visible;overflow-wrap:anywhere;padding:var(--spacing-content);position:relative;text-align:center;word-break:keep-all}.ihabdevteam-core-scope .training-text-box--disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-text-box--disabled .training-text-box__inner{visibility:hidden}.ihabdevteam-core-scope .training-text-box--disabled:after{content:"";pointer-events:none;position:absolute;z-index:5}.ihabdevteam-core-scope .training-text-box__preview{align-items:center;display:flex;justify-content:center;left:50%;pointer-events:auto;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:60}.ihabdevteam-core-scope .training-text-box__buttons{border-radius:999px;gap:4px;height:28px;left:0;right:0}.ihabdevteam-core-scope .training-text-box__area,.ihabdevteam-core-scope .training-text-box__buttons{align-items:center;box-sizing:border-box;display:flex;justify-content:center;pointer-events:auto;position:relative;z-index:40}.ihabdevteam-core-scope .training-text-box__area{flex:1 1 auto;margin:0 auto;min-height:0;text-align:center;width:100%}.ihabdevteam-core-scope .training-text-box--active,.ihabdevteam-core-scope .training-text-box--done{background-color:var(--color-white);border-color:var(--color-main);pointer-events:auto;transition:box-shadow .18s ease,transform .18s ease,opacity .16s ease;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto}.ihabdevteam-core-scope .training-text-box.is-dark{background:var(--color-darkGray);border:1px solid var(--color-black);color:var(--color-deepWhite)}.ihabdevteam-core-scope .training-text-box .training-text-box__inner{display:block;overflow-wrap:anywhere;text-align:center;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .training-text-box.is-dark .tooltip-textbox__text,.ihabdevteam-core-scope .training-text-box.is-dark .training-text-box__inner{color:var(--color-deepWhite)}';ae(u7);function _c({context:e,state:t="disabled",theme:a="light"}){const{t:r}=me.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const d=()=>c(S=>S==="dark"?"light":"dark"),{increase:u,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:f}=cn({storageKey:"textbox_fontScale"}),[b,x]=l.useState(""),v=l.useCallback(()=>i("active"),[]),C=l.useCallback(()=>x(""),[]),w=S=>{try{x(S)}catch{}},_=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const S=setTimeout(()=>i(t),0);return()=>clearTimeout(S)}},[t]);const k=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const S=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(S)},[k]);const y=t==="disabled"?n:t,A=y==="disabled"?"training-text-box--disabled":y==="active"?"training-text-box--active":y==="done"?"training-text-box--done":"",T=l.useMemo(()=>({fontSize:`${g}px`,lineHeight:`${f}px`}),[g,f]);return o.jsxs("div",{className:`training-text-box ${A} ${y!=="disabled"&&s==="dark"?"is-dark":""}`,children:[y==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(ne,{size:48,type:"bar",onClick:v,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":y==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:T,children:k})}),y!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":y==="disabled",children:[o.jsx(ne,{size:32,type:"dot",onClick:m,onDisabledClick:()=>w(r("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),o.jsx(ne,{size:32,type:"dot",onClick:u,onDisabledClick:()=>w(r("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:r("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!h,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:r("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),o.jsx(ro,{message:b,position:"top",onClose:C})]})}function Rn({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:b}=me.useTranslation(),x=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),v=typeof e=="number"?e:-1,C=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",w=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,_=d?d.join("||"):"",k=u?u.join("||"):"",[y,A]=l.useState(()=>Array.isArray(w)?f?Ve(w):w.slice():void 0);l.useEffect(()=>{Array.isArray(w)&&w.length?A(f?Ve(w):w.slice()):A(void 0)},[c,_,k,f]);const[T,S]=l.useState(null),[D,H]=l.useState(()=>new Set);l.useEffect(()=>{S(null),H(new Set)},[k]);const R=l.useRef(void 0);l.useEffect(()=>{const B=R.current;typeof B=="number"&&typeof t=="number"&&typeof e=="number"&&B>=e&&t<e&&(S(null),H(new Set)),R.current=t},[t,e]);const E=l.useCallback(B=>{if(C!=="active")return;const F=y?.[B];if(F==null)return;const X=F,Q=C==="active"||C==="done";if(m){const oe=new Set(D),N=oe.has(X);N?oe.delete(X):oe.add(X),H(oe),typeof s=="function"&&s({selectedValues:[...oe],__ts:Date.now()}),Q&&(typeof h=="number"&&h>0?oe.size>=h:!N)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...oe],__ts:Date.now()})}else S(X),typeof s=="function"&&s({selectedIndex:B,selectedValue:X,__ts:Date.now()}),Q&&typeof i=="function"&&C==="active"&&i({selectedIndex:B,selectedValue:X,__ts:Date.now()})},[y,C,m,s,i,h,D]),$=`training-step__buttons${Array.isArray(y)&&y.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:x,useTitleFaded:n,children:o.jsx("div",{className:$,children:Array.isArray(y)&&y.length>0?y.map((B,F)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>E(F),ariaLabel:String(B),label:B,useLabel:!0,icon:g?g[String(B)]:void 0,variant:"default",disabled:C==="disabled",selected:m?D.has(B):T===B,useDisabledCovered:p,minWidth:0},String(B))):null})})}function Pn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=me.useTranslation(),u=r??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),m=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":m<t?"done":m===t?"active":"disabled",p=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",g=s&&typeof s=="object"?s.choices:void 0,[f,b]=l.useState(c??null);l.useEffect(()=>{if(c==null&&f!==null){const w=setTimeout(()=>b(null),0);return()=>clearTimeout(w)}},[p,c,f]);const x=l.useCallback(w=>{const _=typeof w=="object"&&w!==null?Object.assign({},w,{__ts:Date.now()}):{value:w,__ts:Date.now()};typeof i=="function"&&i(_),h==="active"&&typeof n=="function"&&n(_)},[i,h,n]),v=l.useCallback(()=>{h==="active"&&(b(!1),x(!1))},[x,h]),C=l.useCallback(()=>{h==="active"&&(b(!0),x(!0))},[x,h]);return o.jsxs(Ua,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[o.jsx(_c,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((w,_)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(_),x&&x(_))},disabled:h==="disabled",ariaLabel:String(w),label:w,variant:h,selected:f===_},_)):o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:56,type:"bar",onClick:v,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),o.jsx(ne,{size:56,type:"bar",onClick:C,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function zn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:b}=me.useTranslation(),x=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),v=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:x,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(kr,{soundSrc:s,ttsText:s?null:u??x,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:v,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var p7=".ihabdevteam-core-scope .page-popup--closing{opacity:0;pointer-events:none;transition:opacity .16s ease}.ihabdevteam-core-scope .page-popup__panel{overflow:auto}.ihabdevteam-core-scope .page-popup__close{font-size:20px;right:12px;top:10px}.ihabdevteam-core-scope .page-popup{align-items:stretch;display:flex;inset:0;justify-content:center;position:fixed;z-index:var(--z-page-popup)}.ihabdevteam-core-scope .page-popup__panel{background:var(--color-deepWhite);border-radius:0;box-shadow:none;color:var(--color-black);display:flex;flex-direction:column;height:100%;max-height:none;max-width:none;overflow:hidden;position:relative;width:100%}.ihabdevteam-core-scope .page-popup__scroll{-webkit-overflow-scrolling:touch;align-items:flex-start;display:flex;flex:1 1 0;justify-content:center;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:rgba(0,0,0,.15) transparent;scrollbar-width:thin;touch-action:pan-y}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar{width:4px}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-track{background:transparent}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:var(--radius-xs)}.ihabdevteam-core-scope .page-popup__scroll::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.28)}.ihabdevteam-core-scope .page-popup__panel--measuring .page-popup__scroll{opacity:0;pointer-events:none}.ihabdevteam-core-scope .page-popup__scroll{transition:opacity .12s ease}.ihabdevteam-core-scope .nt-debug{background:rgba(0,0,0,.03);border-radius:var(--radius-sm);color:var(--text,var(--color-black));font-family:monospace;font-size:12px;line-height:1.2;max-width:300px;padding:8px 10px;position:absolute;right:20px;top:84px;white-space:pre-wrap;z-index:calc(var(--z-page-popup) + 1)}.ihabdevteam-core-scope .page-popup--backdrop{display:none}.ihabdevteam-core-scope .page-popup__close{background:transparent;border:none;color:var(--text,var(--color-black));cursor:pointer;font-size:22px;line-height:1;position:absolute;right:14px;top:12px}.ihabdevteam-core-scope .page-popup__panel>*{box-sizing:border-box}.ihabdevteam-core-scope .page-popup__body{padding:16px 20px}.ihabdevteam-core-scope .page-popup__content{box-sizing:border-box;margin:0 auto;max-width:800px;min-width:0;padding:var(--spacing-page);width:100%}.ihabdevteam-core-scope .page-popup__content--center{margin-bottom:auto;margin-top:auto}.ihabdevteam-core-scope .pp-empty{color:var(--color-gray);padding:24px 0;text-align:center;width:100%}.ihabdevteam-core-scope .page-popup__content .training-steps{box-sizing:border-box;min-width:0;width:100%}.ihabdevteam-core-scope .page-popup__bottom,.ihabdevteam-core-scope .page-popup__top{flex-shrink:0}.ihabdevteam-core-scope .page-popup__panel--center .page-popup__scroll{align-items:center}.ihabdevteam-core-scope .page-popup--result-empty{background:var(--color-deepWhite)}.ihabdevteam-core-scope .page-popup__empty{align-items:center;color:var(--color-gray);display:flex;flex-direction:column;justify-content:center;padding:2rem;text-align:center;width:100%}";ae(p7);var h7=".ihabdevteam-core-scope .order-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .order-list__item{align-items:flex-start;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .order-list__draggable{align-items:center;border-radius:var(--radius-m);display:flex;flex:1;gap:var(--spacing-xs);justify-content:space-between;min-height:60px;padding:0 0 0 4px;will-change:transform}.ihabdevteam-core-scope .order-list__item-text{color:var(--color-black)}.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:inline-flex;gap:2px}@media (max-width:600px){.ihabdevteam-core-scope .order-list__item-buttons{align-items:center;align-self:center;display:flex;flex-direction:column}.ihabdevteam-core-scope .order-list__item-buttons>*{box-sizing:border-box;display:inline-flex}}.ihabdevteam-core-scope .order-list__item.correct{border:1px solid var(--color-main)}.ihabdevteam-core-scope .order-list__slot{align-items:center;background-color:var(--color-darkWhite);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:var(--spacing-xs);height:auto;padding:4px 10px;width:100%}.ihabdevteam-core-scope .order-list__marker{--marker-pos:50%;align-items:center;background-color:var(--color-main);background:color-mix(in srgb,var(--color-main) 50%,var(--color-sub) 50%);border:2px solid var(--color-pureWhite);border-radius:var(--radius-sm);box-sizing:border-box;color:#fff;display:inline-flex;height:24px;justify-content:center;width:24px}@supports (color:color-mix(in lch,red,blue)) and (top:var(--f )){.ihabdevteam-core-scope .order-list__marker{background:color-mix(in srgb,var(--color-main) calc(100% - var(--marker-pos)),var(--color-sub) var(--marker-pos))}}@media (max-width:600px){.ihabdevteam-core-scope .order-list__marker{height:24px;min-width:24px;width:24px}}.ihabdevteam-core-scope .order-list__item:hover .order-list__slot{background-color:var(--color-deepWhite);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot{background-color:var(--color-white);box-shadow:inset 0 0 0 1px var(--color-main)}.ihabdevteam-core-scope .order-list__slot.pulse{background-color:var(--color-white);transition:background-color .42s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__slot.pulse.to-dark{background-color:var(--color-darkWhite)}.ihabdevteam-core-scope .order-list__slot-number{align-items:center;align-self:center;border-radius:var(--radius-sm);color:#fff;display:inline-flex;height:32px;justify-content:center;width:32px}.ihabdevteam-core-scope .order-list__draggable.dragging{background-color:var(--color-white);opacity:.2}.ihabdevteam-core-scope .order-list__dragging-object{align-items:center;background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 14px 40px rgba(16,24,40,.18);box-sizing:border-box;color:var(--color-black);display:inline-flex;gap:var(--spacing-s);left:0;max-width:calc(100vw - var(--spacing-page)*3);min-height:60px;opacity:1;overflow-wrap:anywhere;padding:20px;pointer-events:none;position:fixed;top:0;transform:translate3d(-9999px,-9999px,0) scale(1);transition:transform .16s cubic-bezier(.22,.9,.39,1),opacity .18s ease;white-space:normal;width:auto;will-change:transform,opacity;word-break:keep-all;z-index:var(--z-popover)}.ihabdevteam-core-scope .order-list__dragging-object--visible{opacity:1}.ihabdevteam-core-scope .order-list__item.drag-over .order-list__slot:hover{background-color:var(--color-white);border-radius:var(--radius-m);box-shadow:inset 0 0 0 1px var(--color-main);transition:box-shadow .16s cubic-bezier(.22,.9,.39,1)}.ihabdevteam-core-scope .order-list__item-text{display:block;line-height:1.4;margin:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:keep-all}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true],.ihabdevteam-core-scope .order-list__draggable[draggable=false]{background-color:var(--color-darkWhite);box-shadow:none!important;cursor:default;opacity:.9;pointer-events:none}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-text,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-text{color:var(--color-gray);display:none!important;opacity:.9}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__item-buttons,.ihabdevteam-core-scope .order-list__draggable[draggable=false]~.order-list__slot .order-list__slot-number,.ihabdevteam-core-scope .order-list__slot-number[hidden]{display:none!important}.ihabdevteam-core-scope .order-list__draggable[data-disabled=true] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[data-disabled=true]+.order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false] .order-list__slot,.ihabdevteam-core-scope .order-list__draggable[draggable=false]+.order-list__slot,.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{background-color:var(--color-darkWhite)!important;box-shadow:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true]{cursor:default!important;pointer-events:none!important}.ihabdevteam-core-scope .order-list__slot[data-disabled=true] .order-list__slot-number{display:none!important}";ae(h7);function In({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=me.useTranslation(),d=r??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=L=>typeof L=="string"?L:L&&(L.context||L.sentence||L.question||"")||"",[m,h]=l.useState(Array.isArray(s)?s:[]),[p,g]=l.useState(()=>(m||[]).map((L,P)=>({id:P,text:u(L)}))),f=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]);l.useEffect(()=>{const L=Array.isArray(s)?s:[];h(L);const P=(W=>{const V=(W||[]).map((O,ie)=>({id:ie,text:u(O)}));if(V.length<=1)return V;const te=(O,ie)=>{if(O.length!==ie.length)return!1;for(let pe=0;pe<O.length;pe++)if(O[pe].text!==ie[pe].text)return!1;return!0};let I=Ve(V),q=0;for(;te(I,V)&&q<20;)I=Ve(V),q+=1;return I})(L);g(P);try{if(typeof i=="function"){const W=P.filter((V,te)=>V.text===u(L[te])).length;i({shuffled:P,score:W,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const W=P.filter((V,te)=>V.text===u(L[te])).length;n({shuffled:P,score:W,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,P)=>{const W=[...p],V=L+P;if(V<0||V>=W.length)return;const te=W[V];W[V]=W[L],W[L]=te,$(W);try{if(typeof n=="function"&&f==="active"){const I=W.filter((q,O)=>q.text===u(m[O])).length;n({shuffled:W,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[x,v]=l.useState(null),C=l.useRef(null),w=l.useRef(null),_=l.useRef(null),k=l.useRef(null),y=l.useRef(null),A=l.useRef({x:0,y:0}),T=l.useRef(null),S=l.useRef({dx:0,dy:0}),D=()=>{if(T.current!==null)return;const L=()=>{T.current=requestAnimationFrame(L);const P=A.current,W=S.current||{dx:0,dy:0};C.current&&(C.current.style.transform=`translate3d(${P.x-W.dx}px, ${P.y-W.dy}px, 0)`)};T.current=requestAnimationFrame(L)},H=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return H.current.forEach((P,W)=>{P&&P.getBoundingClientRect&&L.set(W,P.getBoundingClientRect())}),L},$=L=>{const P=E();g(L);try{if(typeof i=="function"){const W=L.filter((V,te)=>V.text===u(m[te])).length;i({shuffled:L,score:W,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const W=E();L.forEach(V=>{const te=P.get(V.id),I=W.get(V.id),q=H.current.get(V.id);if(!q||!te||!I)return;const O=te.top-I.top;O&&(q.style.transition="none",q.style.transform=`translateY(${O}px)`,requestAnimationFrame(()=>{q.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",q.style.transform="";const ie=()=>{q.style.transition="",q.removeEventListener("transitionend",ie)};q.addEventListener("transitionend",ie)}))})})},B=(L,P)=>{try{try{P.dataTransfer?.setData("text/plain",String(L))}catch{}try{P.dataTransfer&&(P.dataTransfer.effectAllowed="move")}catch{}try{const W=document.createElement("div");W.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(W),P.dataTransfer?.setDragImage(W,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(W)}catch{}})}catch{}}catch{}v(L);try{const W=p[L],V=document.createElement("div");V.className="order-list__dragging-object order-list__dragging-object--visible",V.textContent=W&&W.text?W.text:"",document.body.appendChild(V),C.current=V;const te=H.current.get(W.id);let I=P.clientX||0,q=P.clientY||0;try{if(te&&te.getBoundingClientRect){const be=te.getBoundingClientRect();I=be.left+be.width/2,q=be.top+be.height/2}}catch{}const O=V.getBoundingClientRect(),ie=O.width/2,pe=O.height/2;S.current={dx:ie,dy:pe},V.style.transition="none",A.current={x:I,y:q},V.style.transform=`translate3d(${I-ie}px, ${q-pe}px, 0)`,requestAnimationFrame(()=>{try{V.style.transition=""}catch{}D()});const ve=be=>{const M=be;A.current={x:M.clientX,y:M.clientY},D()};_.current=ve,document.addEventListener("mousemove",ve);const xe=be=>{const M=be;A.current={x:M.clientX,y:M.clientY},D()};w.current=xe,document.addEventListener("dragover",xe);try{P.dataTransfer?.setData("text/plain",String(L));try{P.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},F=(L,P)=>{P.preventDefault();try{P.dataTransfer&&(P.dataTransfer.dropEffect="move")}catch{}try{y.current!==null&&(clearTimeout(y.current),y.current=null);const W=P.currentTarget&&P.currentTarget.closest?P.currentTarget.closest(".order-list__item"):null;if(W&&k.current!==W){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{W.classList.add("drag-over")}catch{}k.current=W}}catch{}},X=(L,P)=>{P.preventDefault();const W=P.dataTransfer?.getData("text/plain")||"",V=W?parseInt(W,10):x,te=L;if(typeof V!="number"||isNaN(V)||V===te){v(null),N(),Q();return}const I=Wi(p,V,te);$(I),v(null),Q();try{if(typeof n=="function"&&f==="active"){const q=I.filter((O,ie)=>O.text===u(m[ie])).length;n({shuffled:I,score:q,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const q=document.querySelectorAll(".order-list .order-list__item")[te];if(!q)return;const O=q.querySelector(".order-list__slot")||q;try{O.classList.add("pulse"),O.offsetHeight,O.classList.add("to-dark");const ie=()=>{O.classList.remove("pulse","to-dark"),O.removeEventListener("transitionend",ie)};O.addEventListener("transitionend",ie)}catch{}})}catch{}N()},Q=()=>{if(C.current){try{document.body.removeChild(C.current)}catch{}C.current=null}w.current&&(document.removeEventListener("dragover",w.current),w.current=null),_.current&&(document.removeEventListener("mousemove",_.current),_.current=null),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null)},oe=()=>{v(null),N(),Q()};l.useEffect(()=>()=>Q(),[]);const N=()=>{try{if(y.current!==null&&(clearTimeout(y.current),y.current=null),k.current){try{k.current.classList.remove("drag-over")}catch{}k.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(L=>L.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const L=Math.max(1,(p||[]).length);p.forEach((P,W)=>{const V=R.current.get(P.id);if(!V)return;let te=50;L>1&&(te=Math.round(W/(L-1)*100));try{V.style.setProperty("--marker-pos",te+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{Q(),y.current!==null&&(clearTimeout(y.current),y.current=null)},[]),o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,P)=>{const W=Math.max(1,(p||[]).length),V=W>1?Math.round(P/(W-1)*100):50;return o.jsx("div",{className:"order-list__item",children:o.jsxs("div",{className:"order-list__slot","data-disabled":f==="disabled","aria-disabled":f==="disabled",children:[f!=="disabled"?o.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":V+"%"},ref:te=>{const I=R.current;te?I.set(L.id,te):I.delete(L.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:P+1})}):null,o.jsxs("div",{ref:te=>{const I=H.current;te?I.set(L.id,te):I.delete(L.id)},className:`order-list__draggable ${x===P?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?te=>B(P,te):void 0,onDragEnter:f==="active"?te=>F(P,te):void 0,onDragOver:f==="active"?te=>F(P,te):void 0,onDragLeave:f==="active"?()=>{try{y.current!==null&&clearTimeout(y.current),y.current=setTimeout(()=>{try{const te=document.querySelectorAll(".order-list .order-list__item");te&&te[P]&&(te[P].classList.remove("drag-over"),k.current===te[P]&&(k.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?te=>X(P,te):void 0,onDragEnd:f==="active"?oe:void 0,children:[o.jsx("span",{className:"order-list__item-text body-2",children:L.text}),f==="active"?o.jsxs("span",{className:"order-list__item-buttons",children:[o.jsx(ne,{size:32,type:"dot",onClick:()=>b(P,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:P===0,useBorder:!1,useDisabledInvisible:!0}),o.jsx(ne,{size:32,type:"dot",onClick:()=>b(P,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:P===p.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},L.id)})})})}var m7="";ae(m7);const b7=8e3;function g7(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function Cc({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:m}){const{t:h}=me.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),f=m??3,b=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const x=typeof e=="number"?e:-1,v=typeof t!="number"?"disabled":x<t?"done":x===t?"active":"disabled",[C,w]=l.useState(null),_=l.useRef([]),[k,y]=l.useState(!1),A=l.useMemo(()=>g.map(H=>H?.id??H?.word??"").join("|"),[g]);l.useEffect(()=>{w(null),_.current=[]},[A]);const T=l.useCallback((H,R)=>{if(c)return;const E={item:H,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,v,n]),S=l.useCallback(async()=>{if(!(k||v==="disabled")){y(!0);try{for(const H of _.current)H&&await g7(H.play(),b7)}finally{y(!1)}}},[k,v]),D=l.useCallback((H,R)=>{if(v!=="active")return;w(R);const E={selectedValue:H.word||H.title||"",selectedIndex:R,item:H,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[i,v,n]);return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!u&&b.length>0,onPlayAll:S,playAllActive:k},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((H,R)=>o.jsx(Nn,{ref:E=>{_.current[R]=E},item:H,disabled:v==="disabled",onPlayDone:()=>T(H,R),selectable:c,selected:c&&C===R,onSelect:c?()=>D(H,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},H&&H.id||R))})})}const f7=160;var v7=".ihabdevteam-core-scope .panel{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-card);display:flex;flex-direction:column;overflow:visible;padding:0;text-align:left}.ihabdevteam-core-scope .panel--no-border{border:none}.ihabdevteam-core-scope .panel--no-bg{background:transparent;border-radius:0}.ihabdevteam-core-scope .panel--no-border .panel-row{padding-left:0;padding-right:0}.ihabdevteam-core-scope .panel--no-row-border .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel__header{align-items:center;border-bottom:1px solid var(--color-darkWhite);box-sizing:border-box;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin:0;padding:0 20px}.ihabdevteam-core-scope .panel__header:last-child{border-bottom:none}.ihabdevteam-core-scope .panel--small .panel__header{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel__header{min-height:56px}.ihabdevteam-core-scope .panel--large .panel__header{min-height:64px}.ihabdevteam-core-scope .panel__icon{align-items:center;color:var(--t-item-fg,var(--color-main));display:flex;flex-shrink:0;height:20px;justify-content:center;margin-right:var(--spacing-s);width:20px}.ihabdevteam-core-scope .panel__title-group{display:flex;flex-direction:column;gap:4px;margin-right:auto;min-width:0}.ihabdevteam-core-scope .panel__title{color:var(--color-darkGray);margin:0}.ihabdevteam-core-scope .panel__disc{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .panel__actions{display:flex;flex-shrink:0;gap:6px}.ihabdevteam-core-scope .panel-row{align-items:center;box-sizing:border-box;display:flex;gap:var(--spacing-m);justify-content:space-between;padding:4px 20px}.ihabdevteam-core-scope .panel--small .panel-row{min-height:48px}.ihabdevteam-core-scope .panel--medium .panel-row{min-height:56px}.ihabdevteam-core-scope .panel--large .panel-row{min-height:64px}.ihabdevteam-core-scope .panel-row+.panel-row{border-top:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row{border-bottom:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel--fill .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel--no-row-border .panel-row{border-bottom:none}.ihabdevteam-core-scope .panel>:not(.panel-row)+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid{grid-gap:1px;background:var(--color-darkWhite);display:grid;gap:1px;grid-template-columns:repeat(2,1fr);grid-template-columns:repeat(var(--panel-grid-cols,2),1fr);overflow:hidden;padding-bottom:1px}.ihabdevteam-core-scope .panel-grid .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-row--empty{color:var(--color-lightGray);justify-content:center}.ihabdevteam-core-scope .panel-row--loading{justify-content:center}.ihabdevteam-core-scope .panel__body--scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .panel-row--content{display:block;min-height:0;padding:16px}.ihabdevteam-core-scope .panel-row--content+.panel-row--content{border-top:none}.ihabdevteam-core-scope .panel-row__icon{align-items:center;display:flex;flex-shrink:0;margin-right:-4px}.ihabdevteam-core-scope .panel-row__left{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__label{color:var(--color-deepGray)}.ihabdevteam-core-scope .panel-row__sub{color:var(--color-gray);margin-top:2px}.ihabdevteam-core-scope .panel-row__right{align-items:center;display:flex;flex:0 0 auto;justify-content:flex-end}@media (max-width:767px){.ihabdevteam-core-scope .panel-row{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__right{flex:0 1 auto;min-width:0}}.ihabdevteam-core-scope .panel--form .panel-row{grid-gap:var(--spacing-m);align-items:center;display:grid;gap:var(--spacing-m);grid-template-columns:80px 1fr;grid-template-columns:var(--panel-label-width,80px) 1fr}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width){align-items:flex-start}.ihabdevteam-core-scope .panel--form .panel-row:has(.text-field--full-width) .panel-row__left{padding-top:9px}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__left{flex:0 0 120px;flex:0 0 var(--panel-label-width,120px)}.ihabdevteam-core-scope .panel-row--label-fixed .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--clickable{cursor:pointer;transition:background .1s,box-shadow .1s}.ihabdevteam-core-scope .panel-row--clickable:hover{background:var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__text{color:var(--color-darkGray);overflow-wrap:break-word;text-align:right;word-break:break-word}.ihabdevteam-core-scope .panel-row--text .panel-row__right{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--block{align-items:stretch;display:flex;flex-direction:column;justify-content:center}.ihabdevteam-core-scope .panel-row__description{color:var(--color-gray);line-height:1.6;margin:0;overflow-wrap:break-word;word-break:break-word}.ihabdevteam-core-scope .panel-row__dropdown-group{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .panel-row__dropdown-group--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row__text--full{text-align:left;width:100%}.ihabdevteam-core-scope .panel-row__input-wrap{display:flex;flex-direction:column}.ihabdevteam-core-scope .panel-row__input-wrap--full{flex:1;min-width:0}.ihabdevteam-core-scope .panel-row--vertical{align-items:flex-start;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .panel-row--vertical .panel-row__left{flex:none;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__right{align-items:flex-start;flex:none;justify-content:flex-start;width:100%}.ihabdevteam-core-scope .panel-row--vertical .panel-row__text{margin-left:0;text-align:left}.ihabdevteam-core-scope .panel-row--device{grid-gap:0;align-items:stretch;display:grid;gap:0;grid-template-columns:1fr 1fr;min-height:0;padding:0}.ihabdevteam-core-scope .panel-row__device-column{box-sizing:border-box;display:flex;flex-direction:column;gap:0;min-height:164px;padding:14px 16px}.ihabdevteam-core-scope .panel-row__device-column+.panel-row__device-column{border-left:1px solid var(--color-darkWhite)}.ihabdevteam-core-scope .panel-row__device-head{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:8px;min-height:32px}.ihabdevteam-core-scope .panel-row__device-side{color:var(--color-darkGray);margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info{margin:0;text-align:left}.ihabdevteam-core-scope .panel-row__device-info,.ihabdevteam-core-scope .panel-row__device-kind{align-items:flex-start;display:flex;flex-direction:column;gap:3px}.ihabdevteam-core-scope .panel-row__device-name{color:var(--color-darkGray)}.ihabdevteam-core-scope .panel-row__device-detail{color:var(--color-gray)}.ihabdevteam-core-scope .panel-row__device-date{color:var(--color-lightGray);margin-top:2px}.ihabdevteam-core-scope .panel-row__device-empty{align-items:center;color:var(--color-lightGray);display:flex;flex:1;justify-content:center;text-align:center}.ihabdevteam-core-scope .required-mark{color:var(--color-main);margin-left:2px}.ihabdevteam-core-scope .panel-row__error{color:var(--color-error);margin-top:4px}.ihabdevteam-core-scope .panel-row__helper{color:var(--color-lightGray);margin-top:4px}.ihabdevteam-core-scope .panel-row__button-group{display:flex;gap:6px}@media (max-width:767px){.ihabdevteam-core-scope .panel-row__dropdown-group{flex-wrap:wrap}.ihabdevteam-core-scope .panel-row__dropdown-error-wrap--full,.ihabdevteam-core-scope .panel-row__dropdown-item--full{flex:1 1 104px}}";ae(v7);const Tb=()=>{};function Da(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:x,onClick:v,children:C,align:w="horizontal",icon:_}=e,k=y=>{v&&y.target===y.currentTarget&&(y.key==="Enter"||y.key===" ")&&(y.preventDefault(),v())};return o.jsxs("div",{className:_e("panel-row",w==="vertical"?"panel-row--vertical":"",v?"panel-row--clickable":""),onClick:v,onKeyDown:v?k:void 0,role:v?"button":void 0,tabIndex:v?0:void 0,children:[_!=null&&o.jsx("div",{className:"panel-row__icon",children:_}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),x&&o.jsx("div",{className:"panel-row__sub caption-1",children:x})]}),o.jsx("div",{className:"panel-row__right",children:C})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(So,{size:28})});if(e.variant==="custom"&&!e.label)return o.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:r,sub:n,onClick:i,required:s,error:c,align:d="horizontal",useFullWidth:u=!1,icon:m}=e;let h=null;const p=a==="toggle"?`panel-toggle-${t}`:void 0;if(a==="toggle"){const b=e;h=o.jsx(Gl,{checked:b.checked,onChange:b.onChange,id:p})}else if(a==="segmented"){const b=e;h=o.jsx(Va,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,x=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((v,C)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:v.options,value:v.value,onChange:v.onChange,placeholder:v.placeholder,block:u,error:!!c,ariaLabel:v.ariaLabel??([r,v.placeholder].filter(Boolean).join(" ")||void 0)})},C))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Tb,block:u,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[x,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):x}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((x,v)=>o.jsx(ne,{size:x.btnSize??40,variant:x.btnVariant??"default",disabled:x.disabled,onClick:x.onClick,children:x.label},v))}):h=o.jsx(ne,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[o.jsx(Wa,{value:b.value,onChange:b.onChange??Tb,onKeyDown:b.onKeyDown,onEnter:b.onEnter,placeholder:b.placeholder,inputMode:b.inputMode,readOnly:b.readOnly,disabled:b.disabled,type:b.type,autoComplete:b.autoComplete,maxLength:b.maxLength,showCount:b.showCount,multiline:b.multiline,rows:b.rows,fullWidth:u,error:c,ariaLabel:r,required:s}),b.helperText&&o.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(h=e.children);const g=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,f=b=>{i&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),i())};return o.jsxs("div",{className:_e("panel-row",d==="vertical"?"panel-row--vertical":"",g?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",i?"panel-row--clickable":""),onClick:i,onKeyDown:i?f:void 0,role:i?"button":void 0,tabIndex:i?0:void 0,children:[m!=null&&o.jsx("div",{className:"panel-row__icon",children:m}),o.jsxs("div",{className:"panel-row__left",children:[p?o.jsxs("label",{htmlFor:p,className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}):o.jsxs("div",{className:"panel-row__label body-3",children:[r,s&&o.jsx("span",{className:"required-mark",children:"*"})]}),n&&o.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),o.jsx("div",{className:"panel-row__right",children:h})]})}function Lb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Mb({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(n=>{const i=e[n],s=n==="\uC88C"?r("device.direction.left","\uC88C"):r("device.direction.right","\uC6B0");return o.jsxs("div",{className:"panel-row__device-column",children:[o.jsxs("div",{className:"panel-row__device-head",children:[o.jsx("span",{className:"panel-row__device-side body-2b",children:s}),i&&t&&o.jsx(ne,{size:32,type:"dot",icon:"x",ariaLabel:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:r("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(n)})]}),i?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&o.jsx(ht,{size:"small",variant:km(i.device),fill:"soft",label:i.device}),Lb(i)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:Lb(i)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:r("customers.device.wornSince",{date:`${i.wornYear}.${i.wornMonth}.${i.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a??r("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},n)})})}function Ar({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,useBorder:u=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:f,empty:b,children:x}){const v=_e("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",u?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),C={};return i!==void 0&&(C.minHeight=i),s!==void 0&&(C.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(C["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:v,style:Object.keys(C).length?C:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:_e("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(We,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),o.jsxs("div",{className:"panel__title-group",children:[e!=null&&o.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&o.jsx("p",{className:"panel__disc caption-1",children:a})]}),r&&o.jsx("div",{className:"panel__actions",children:r})]}),f?o.jsx(Da,{variant:"loading"}):b!=null&&(x==null||Array.isArray(x)&&x.length===0)?o.jsx(Da,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:x}):x]})}function $b({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function x7(e){return[{label:e("training.noise.level.none","\uC5C6\uC74C"),value:0},{label:e("training.noise.level.weak","\uC57D\uD568"),value:1},{label:e("training.noise.level.medium","\uBCF4\uD1B5"),value:2},{label:e("training.noise.level.strong","\uAC15\uD568"),value:3},{label:e("training.noise.level.veryStrong","\uB9E4\uC6B0 \uAC15\uD568"),value:4}]}function Rb(e){return[{label:e("training.noise.type.default","\uAE30\uBCF8"),value:"defaultNoise",icon:"party-popper"},{label:e("training.noise.type.street","\uAE38\uAC70\uB9AC"),value:"street",icon:"car"},{label:e("training.noise.type.buzz","\uC640\uAE00\uC640\uAE00"),value:"buzz",icon:"message-square-more"},{label:e("training.noise.type.restaurant","\uC2DD\uB2F9"),value:"restaurant",icon:"coffee"}]}x7(Ca.t.bind(Ca)),Rb(Ca.t.bind(Ca));var _7='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:16px 20px 20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';ae(_7);const yc="none",C7=.5,y7=1.5,w7=.25;function wc({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:d}){return o.jsxs(Da,{variant:"custom",label:e,useFullWidth:!0,children:[o.jsx(Zl,{value:a,onChange:d,min:r,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),o.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function kc({anchorRect:e,onClose:t}){const{t:a}=me.useTranslation(),r=Qt("(max-width: 767px)")?40:24,n=mc(),i=n?.settings.level??0,s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=F8(i),u=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(x=>{try{n?.setMainVolume(Math.max(0,Math.min(1,x/100)))}catch{}},[n]),g=l.useCallback(x=>{try{n?.setPlaybackRate(x)}catch{}},[n]),f=l.useCallback(x=>{const v=H8(x);try{n?.setSettings({level:v})}catch{}},[n]),b=l.useCallback(x=>{try{x===yc?n?.setSettings({enabled:!1}):n?.setSettings({type:x,enabled:!0})}catch{}},[n]);return o.jsx(Aa,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:o.jsxs("div",{className:"noise-settings__header",children:[o.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),o.jsx(ne,{size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:o.jsxs(Ar,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(wc,{title:a("training.playVolumeTitle","\uC7AC\uC0DD \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:r,onChange:p}),o.jsx(wc,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${u.toFixed(2)}x`,value:u,min:C7,max:y7,step:w7,size:r,onChange:g}),o.jsx(wc,{title:a("training.noiseLevelTitle","\uC18C\uC74C \uD06C\uAE30"),valueLabel:`${d}%`,value:d,min:0,max:100,step:10,size:r,onChange:f}),o.jsx(Da,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Va,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:yc,label:a("training.noise.type.none","\uC5C6\uC74C")},...Rb(a).map(x=>({key:x.value,label:x.label}))],value:c?s:yc,onChange:b})})]})})}var k7=".ihabdevteam-core-scope .training-page-bottom{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-bottom{align-items:center;background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;flex:0 0 auto;gap:var(--spacing-s);justify-content:space-between;padding:12px 18px calc(12px + env(safe-area-inset-bottom));width:100%;z-index:5}.ihabdevteam-core-scope .pp-bottom__left{align-items:center;display:flex;gap:var(--spacing-m)}.ihabdevteam-core-scope .pp-bottom__right{align-items:center;display:flex;gap:8px}.ihabdevteam-core-scope .pp-bottom__meters{border:1px solid var(--color-whiteLine);border-radius:14px;display:flex;flex-direction:column;gap:2px;justify-content:center;padding:8px 12px}.ihabdevteam-core-scope .pp-bottom__meter{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-label{color:var(--color-gray);min-width:28px}.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:none}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:flex}@media (min-width:768px){.ihabdevteam-core-scope .pp-bottom__settings--desktop{display:block}.ihabdevteam-core-scope .pp-bottom__settings--mobile{display:none}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}";ae(k7);function Ac({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=me.useTranslation(),[u,m]=l.useState(!1),[h,p]=l.useState(null),[g,f]=l.useState(!1),b=l.useRef(null),x=l.useRef(null),v=mc(),C=s<c-1,w=s===c-1,_=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const k=l.useCallback(()=>{m(!1),p(null)},[]),y=l.useCallback(()=>{if(u){m(!1),p(null);return}const S=b?.current?.getBoundingClientRect();S&&p(S),t?.(),m(!0)},[u,t]),A=l.useCallback(()=>{if(u){m(!1),p(null);return}const S=x?.current?.getBoundingClientRect();S&&p(S),t?.(),m(!0)},[u,t]),T=l.useCallback(()=>f(S=>!S),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"bar",icon:"settings",onClick:y,selected:u,ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),o.jsx("div",{className:"pp-bottom__settings--mobile",children:o.jsx("div",{ref:x,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"dot",icon:"settings",onClick:A,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(ne,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:T,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(kn,{analyser:v?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),o.jsx(kn,{analyser:v?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[w&&o.jsx(ne,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!_}),C&&o.jsx(ne,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!_})]}),e&&u&&o.jsx(kc,{anchorRect:h,onClose:k})]})}var A7=".ihabdevteam-core-scope .training-page-top{box-sizing:border-box;width:100%}.ihabdevteam-core-scope .pp-title.training-popup-title{align-items:center;background:var(--color-deepWhite);border-bottom:1px solid var(--color-whiteLine);box-sizing:border-box;display:flex;gap:var(--spacing-s);justify-content:space-between;padding:12px 16px;position:relative;width:100%;z-index:6}.ihabdevteam-core-scope .pp-title__left{align-items:center;display:flex;gap:var(--spacing-s);min-width:0}.ihabdevteam-core-scope .pp-title__text{display:flex;flex-direction:column;min-width:0}.ihabdevteam-core-scope .pp-title__depth{color:var(--color-gray)}.ihabdevteam-core-scope .pp-title__title{font-weight:700;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__title--empty{color:var(--color-whiteLine)}.ihabdevteam-core-scope .pp-title__description{color:var(--color-gray);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:767px){.ihabdevteam-core-scope .pp-title.training-popup-title{gap:var(--spacing-xs);padding:10px 12px}.ihabdevteam-core-scope .pp-title__depth{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .pp-title__left{flex:1;min-width:0;overflow:hidden}}";ae(A7);function Sc({title:e,subtitle:t,desc:a,depth:r,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:d,progressMax:u,progressIndex:m,onBack:h,onClose:p}){const{t:g}=me.useTranslation(),f=Qt("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,x=Number.isInteger(u)?u:d||0,v=h||p,C=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,w=typeof e=="string"?e.trim():e,_=typeof t=="string"?t.trim():t,k=!!(w||_),y=k?w||_:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=C||t,T=f&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,S=l.useMemo(()=>{const D=i&&typeof i=="object"?{...i}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[v?o.jsx(ne,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:v,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Dm,{icon:n,label:e,tooltip:s,wrapperStyle:S}):null}),o.jsxs("div",{className:"pp-title__text",children:[T?o.jsx("span",{className:"pp-title__depth caption-1",children:T}):null,o.jsx("span",{className:`pp-title__title h2${k?"":" pp-title__title--empty"}`,children:y}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Ql,{max:Math.max(0,x??0),index:Math.max(0,b??0)})]})}function Pb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function zb(e){return!e&&e!==0?[]:Array.isArray(e)?e.flatMap(t=>typeof t=="string"?t.split("|").map(a=>a.trim()).filter(Boolean):t||t===0?[String(t)]:[]):typeof e=="string"?e.split("|").map(t=>t.trim()).filter(Boolean):[String(e)]}function Bc(e,t,a){const r=e,n=r?.title||r?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=tn().find(c=>c.key===(r?.category_0||r?.category_main_code)),s=i?.subs?.find(c=>c.key===(r?.category_1||r?.category_sub_code));return{title:n,label:r?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?.label,s?.label].filter(Boolean).join(" / ")||void 0}}function On(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Ib(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Ob({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=Bc(t,a,r),u=typeof c=="function"?c(d)||{}:c||{},m=t?.id||t?.title||n.length;return{id:`${e}:${m}`,meta:{...d,...u},pages:n,emptyMessage:i,buildResults:s}}function Fb(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Hb(e){if(e&&typeof e=="object"){const t=e;if(Array.isArray(t.selectedValues))return t.selectedValues;if(t.selectedValue!==void 0)return t.selectedValue;if(t.selectedIndex!==void 0)return t.selectedIndex;if(t.value!==void 0)return t.value}return e}function Wb(e,t=[]){if(Array.isArray(e))return e.join(", ");if(typeof e=="number"&&Array.isArray(t))return String(t[e]??"");if(typeof e=="string")return e}function Nc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Vb(e,t,a,r){return Nc(e,t*a+r)}function Gb({payload:e,selected:t,choices:a=[],correctAnswers:r=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return r.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>r.includes(i));if(typeof n.correct=="boolean")return n.correct}if(r.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return r.some(n=>String(n)===String(a[t]));if(typeof t<"u")return r.some(n=>String(n)===String(t))}}function Ub(e){return e?Array.isArray(e.items)?e.items.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.context||a.sentence||"",contextCode:a.contextCode||a.context_code}}):Array.isArray(e.sentences)?e.sentences.map(t=>{const a=t;return typeof t=="string"?{sentence:t}:{sentence:a.sentence||a.context||"",contextCode:a.contextCode}}):Array.isArray(e.contexts)?e.contexts:e.contextCode?[{contextCode:e.contextCode}]:[]:[]}const Yb=l.createContext(null);function S7(){const e=l.useContext(Yb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function B7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[u,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=l.useCallback(f=>{d==="active"&&m(b=>{const x=[...b];if(x[f]!==null){const C=x[f];return x.map(w=>w!==null&&w>=C?null:w)}x[f]=p;const v={selectedOrder:x,words:n,__ts:Date.now()};try{typeof s=="function"&&s(v)}catch{}if(x.every(C=>C!==null))try{typeof i=="function"&&i(v)}catch{}return x})},[d,p,s,i,n]);return o.jsx(Ua,{index:e,stepIndex:t,isLast:a,title:r,onDone:i,children:o.jsx("div",{className:"training-step__cards",children:n.map((f,b)=>o.jsx(Nn,{item:{word:f},disabled:d==="disabled",selectable:!0,selected:u[b]!==null,orderRank:u[b],onSelect:()=>g(b),flipDelay:b*120,hideLabel:!1,hideAudio:!0},`${f}-${b}`))})})}function Sr(e){return null}Sr.__isTrainingPage=!0;function jo(e,t){const a=S7();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:r=>a.handleStepDone(r,e),onChange:r=>a.handleStepChange(r,e)}}function Dc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=jo(e,t);return o.jsx(zn,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function jc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(Rn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Ec({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(Pn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Tc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(In,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Lc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(Cc,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function N7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(B7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var D7=`.ihabdevteam-core-scope .trp-result{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;position:relative}.ihabdevteam-core-scope .popup--training-result .popup-header{padding:var(--spacing-l) var(--spacing-l) 0;position:absolute;right:0;top:0;z-index:1}.ihabdevteam-core-scope .trp-result__head{padding:12px 72px 20px;position:relative;text-align:center}.ihabdevteam-core-scope .trp-result__eyebrow{align-items:center;color:var(--color-main);display:inline-flex;gap:var(--spacing-xs);letter-spacing:.22em;margin:0 0 14px;text-transform:uppercase}.ihabdevteam-core-scope .trp-result__eyebrow:after,.ihabdevteam-core-scope .trp-result__eyebrow:before{background:currentColor;content:"";height:1px;opacity:.35;width:24px}.ihabdevteam-core-scope .trp-result__title{color:var(--color-black);font-size:28px;margin:0}.ihabdevteam-core-scope .trp-result__subtitle{color:var(--color-gray);margin:10px 0 0}.ihabdevteam-core-scope .trp-score{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-m);margin:36px auto 8px}.ihabdevteam-core-scope .trp-score__figure{font-feature-settings:"tnum";align-items:baseline;display:flex;font-variant-numeric:tabular-nums;gap:var(--spacing-s)}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{align-self:flex-end;color:var(--color-lightGray);font-size:44px;letter-spacing:-1px;padding-bottom:18px}.ihabdevteam-core-scope .trp-score__big{background:var(--color-main);-webkit-background-clip:text;background-clip:text;color:transparent;font-size:112px;letter-spacing:-5px;line-height:.92}.ihabdevteam-core-scope .trp-result__body{padding:16px 0 0}.ihabdevteam-core-scope .result-table{width:100%}.ihabdevteam-core-scope .result-table__head{grid-gap:var(--spacing-m);border-bottom:1px solid var(--color-whiteLine);color:var(--color-lightGray);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;letter-spacing:.16em;padding:12px 4px 14px;text-transform:uppercase}.ihabdevteam-core-scope .result-table--answer .result-table__head,.ihabdevteam-core-scope .result-table--answer .result-table__row{grid-template-columns:1fr 200px 100px}.ihabdevteam-core-scope .result-table__head .col-right{text-align:center}.ihabdevteam-core-scope .result-table__row{grid-gap:var(--spacing-m);align-items:center;border-bottom:1px solid var(--color-whiteLine);display:grid;gap:var(--spacing-m);grid-template-columns:1fr 100px;padding:22px 4px;transition:background .18s ease}.ihabdevteam-core-scope .result-table__row:hover{background:var(--color-deepWhite)}.ihabdevteam-core-scope .result-table__row:last-child{border-bottom:0}.ihabdevteam-core-scope .trp-row__problem{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__no{font-feature-settings:"tnum";color:var(--color-lightGray);flex-shrink:0;font-variant-numeric:tabular-nums;width:32px}.ihabdevteam-core-scope .trp-row__q{color:var(--color-black);letter-spacing:-.1px}.ihabdevteam-core-scope .trp-row__judge{align-self:center;display:flex;justify-content:center}.ihabdevteam-core-scope .trp-row__answers{align-self:center;display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .trp-row__answer-line{align-items:baseline;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__answer-label{flex-shrink:0;width:32px}.ihabdevteam-core-scope .trp-row__answer-label.answer-correct{color:var(--color-lightGray)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-label.answer-selected.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .trp-row__answer-value{color:var(--color-black)}.ihabdevteam-core-scope .trp-row__answer-value.is-correct{color:var(--color-main)}.ihabdevteam-core-scope .trp-row__answer-value.is-wrong{color:var(--color-error)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{align-items:center;background:var(--color-white);display:flex;flex-shrink:0;gap:var(--spacing-s);justify-content:center;padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-s)}@keyframes result-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ihabdevteam-core-scope .trp-result.is-on{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .trp-score__big{animation:result-rise .7s cubic-bezier(.22,.9,.3,1) .1s both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row{animation:result-rise .5s cubic-bezier(.22,.9,.3,1) both}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(2){animation-delay:.18s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(3){animation-delay:.24s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(4){animation-delay:.3s}.ihabdevteam-core-scope .trp-result.is-on .result-table__row:nth-child(5){animation-delay:.36s}@media (max-width:767px){.ihabdevteam-core-scope .trp-result{padding:0}.ihabdevteam-core-scope .trp-result__head{padding:0 20px 20px}.ihabdevteam-core-scope .trp-result__body{padding:0}.ihabdevteam-core-scope .popup-footer.trp-result__foot{border-top:1px solid var(--color-whiteLine);gap:var(--spacing-xs);padding:var(--spacing-l)}.ihabdevteam-core-scope .trp-actions{display:flex;gap:var(--spacing-xs);width:100%}.ihabdevteam-core-scope .trp-actions>*{flex:1;min-width:0}.ihabdevteam-core-scope .trp-score{gap:10px;margin:20px auto 4px}.ihabdevteam-core-scope .trp-score__big{font-size:72px;letter-spacing:-3px}.ihabdevteam-core-scope .trp-score__sep,.ihabdevteam-core-scope .trp-score__total{font-size:28px;padding-bottom:10px}.ihabdevteam-core-scope .result-table__head{display:none}.ihabdevteam-core-scope .result-table__head,.ihabdevteam-core-scope .result-table__row{gap:var(--spacing-xs);grid-template-columns:1fr auto}.ihabdevteam-core-scope .result-table__row{padding:14px 4px}.ihabdevteam-core-scope .trp-row__judge{justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .result-table__row{align-items:start;gap:6px;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:14px 4px}.ihabdevteam-core-scope .result-table--answer .trp-row__judge{grid-row:1;justify-content:flex-start}.ihabdevteam-core-scope .result-table--answer .trp-row__problem{grid-row:2}.ihabdevteam-core-scope .result-table--answer .trp-row__answers{grid-row:3}
981
981
  /* !important \uD544\uC694 \u2014 TrainingResultPopup.tsx\uAC00 Badge\uC5D0 minWidth={80}\uC744 \uC778\uB77C\uC778\uC73C\uB85C
982
982
  \uC804\uB2EC\uD558\uBBC0\uB85C(\uCF54\uB4DC \uD655\uC778\uB428) \uBAA8\uBC14\uC77C\uC5D0\uC11C \uC790\uC5F0 \uD3ED\uC73C\uB85C \uB418\uB3CC\uB9AC\uB824\uBA74 \uD2B9\uC774\uB3C4\uB85C\uB294 \uBD80\uC871. */.ihabdevteam-core-scope .trp-row__judge .badge{min-width:0!important;min-width:auto!important}.ihabdevteam-core-scope .result-table--answer .trp-row__judge .badge{height:26px;padding:0 12px}}`;ae(D7);function Mc(...e){for(const t of e)if(typeof t=="string"){const a=t.trim();if(a.length)return a}else{if(typeof t=="number"||typeof t=="boolean")return String(t);if(Array.isArray(t)&&t.length)return t.join(", ");if(t&&typeof t=="object"){const a=t,r=[a.text,a.label,a.value];for(const n of r){if(typeof n=="string"&&n.trim().length)return n.trim();if(typeof n=="number"||typeof n=="boolean")return String(n)}}}return null}function j7(e){return Mc(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function qb(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=Mc(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(r=>a.includes(r)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(r=>a.includes(r)))return!1}}function $c(e){const{score:t,contextsLength:a,results:r=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1}=e||{},{t:d}=me.useTranslation();l.useEffect(()=>{const b=a??0;t!=null&&b>0&&t/b>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[t,a]);const u=l.useCallback(b=>{const x=qb(b),v=Mc(b?.wording,b?.label);return x===!0?{variant:"main",label:v??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:x===!1?{variant:"danger",label:v??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:v??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),m=a??0,h=t??0,p=l.useMemo(()=>Array.isArray(r)?r:[],[r]),g=l.useMemo(()=>p.map(b=>{const x=b??{},v=j7(x)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:C,label:w}=u(x),_=Array.isArray(x.corrects)?x.corrects:[],k=_.length?_.join(", "):x.answer!=null&&x.answer!==""?String(x.answer):null,y=typeof x.selectedText=="string"?x.selectedText:null,A=qb(x)===!0;return{problem:v,variant:C,label:w,answer:k,selectedText:y,isCorrect:A}}),[p,u]),f=l.useMemo(()=>g.some(b=>b.answer!==null||b.selectedText!==null),[g]);return o.jsx(Ba,{onClose:s,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:b,closeWithAnimation:x})=>o.jsxs("div",{className:"trp-actions",children:[o.jsx(ne,{size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>b(i)}),o.jsx(ne,{size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:x})]}),children:()=>o.jsxs("div",{className:"trp-result is-on",children:[o.jsxs("header",{className:"trp-result__head",children:[o.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),o.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&o.jsx("p",{className:"trp-result__subtitle body-3",children:n}),o.jsx("div",{className:"trp-score",children:o.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:h,total:m}),children:[o.jsx("span",{className:"trp-score__big",children:h}),o.jsx("span",{className:"trp-score__sep",children:"/"}),o.jsx("span",{className:"trp-score__total",children:m})]})})]}),g.length>0&&o.jsx("section",{className:"trp-result__body",children:o.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[o.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[o.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&o.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),o.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((b,x)=>o.jsxs("div",{className:"result-table__row",role:"row",children:[o.jsxs("div",{className:"trp-row__problem",children:[o.jsx("span",{className:"trp-row__no caption-1",children:String(x+1).padStart(2,"0")}),o.jsx("div",{className:"trp-row__q body-2",children:b.problem})]}),f&&o.jsxs("div",{className:"trp-row__answers",children:[b.answer!==null&&o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),o.jsx("span",{className:"trp-row__answer-value body-2",children:b.answer})]}),o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${b.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),o.jsx("span",{className:`trp-row__answer-value body-2 ${b.isCorrect?"is-correct":"is-wrong"}`,children:b.selectedText??"\u2014"})]})]}),o.jsx("div",{className:"trp-row__judge",children:o.jsx(ht,{variant:b.variant,label:b.label,fill:"soft",minWidth:80})})]},x))]})})]})})}function E7(e){l.useEffect(()=>{if(!e)return;const t=new Date;return()=>{const a=new Date;a.getTime()-t.getTime()<5e3||rs({trainingType:e,startedAt:t.toISOString(),endedAt:a.toISOString()})}},[e])}function Rc(e,t){return e&&e.id||`page-${t??0}`}function Pc(e,t){return e&&e.key||`step-${t??0}`}function Fn(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function T7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const Kb=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),L7=e=>o.jsx($c,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function M7(e){const{scenario:t,title:a,subTitle:r,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:m,stepCount:h,onBack:p,onComplete:g,onNext:f,onSettings:b,useNoiseSetting:x=!0,children:v,ariaLabel:C,label:w,buildResults:_,onResult:k,typeKey:y,entryPoint:A,dailyTotal:T,itemRef:S,renderResultPopup:D,noiseOverride:H}=e;E7(y&&!Kb.has(y)?y:"");const R=l.useRef(0);l.useEffect(()=>{R.current=Date.now()},[]);const{t:E}=me.useTranslation(),$=k,B=!!t,F=t?.id||null,X=t?.meta||{},Q=Array.isArray(t?.pages)?t.pages:[],oe=Array.isArray(v)||l.isValidElement(v)&&typeof v!="function"?l.Children.toArray(v).filter(l.isValidElement):[],N=oe.length>0,L=le=>le===Sr||le?.__isTrainingPage===!0,P=N&&oe.some(le=>L(le.type)),W=P?oe.filter(le=>L(le.type)).map((le,G)=>{const ee=le.props||{};return{id:`children-page-${G}`,steps:l.Children.toArray(ee.children).filter(l.isValidElement),pageTop:ee.pageTop||ee.top||null,pageBottom:ee.pageBottom||ee.bottom||null}}):[{id:"children-page-0",steps:oe}],V=N&&!B&&typeof v!="function",te=V?Math.max(1,W.length):0;l.useEffect(()=>{if(!(typeof document>"u"||!document.body)&&!document.body.classList.contains("ihabdevteam-core-scope"))return document.body.classList.add("ihabdevteam-core-scope"),()=>{document.body.classList.remove("ihabdevteam-core-scope")}},[]),l.useEffect(()=>{if(typeof document>"u"||!document.body)return;const le=document.body;return le.dataset.ihabTrainingPopupCount=String(Number(le.dataset.ihabTrainingPopupCount||"0")+1),le.classList.add("ihab-training-popup-open"),()=>{const G=Number(le.dataset.ihabTrainingPopupCount||"1")-1;G>0?le.dataset.ihabTrainingPopupCount=String(G):(delete le.dataset.ihabTrainingPopupCount,le.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return h8()},[]);const[I,q]=l.useState({...Sb,enabled:!1}),O=l.useRef(I);l.useEffect(()=>{O.current=I},[I]);const ie=l.useRef(H);l.useEffect(()=>{let le=!1;return ls().then(G=>{if(le)return;const ee=G?{...O.current,...G}:{...Sb};O.current=ee,q(ee),ar(ee);const de=ie.current;if(de){const Ce=typeof de=="function"?de(ee):de,ye={...ee,...Ce};O.current=ye,q(ye),ar(ye)}}),()=>{le=!0}},[]);const[pe,ve]=l.useState(null),[xe,be]=l.useState(null),M=l.useCallback((le,G)=>{le==="main"?ve(G):be(G)},[]),U=l.useCallback(le=>{const G={...O.current,...le};O.current=G,q(G),ie.current||cs(G),ar(G)},[]),re=I.mainSpeed,ge=I.mainVolume,ce=l.useCallback(le=>U({mainSpeed:le}),[U]),z=l.useCallback(le=>U({mainVolume:le}),[U]),J=l.useMemo(()=>({settings:I,setSettings:U,registerAnalyser:M,mainAnalyser:pe,noiseAnalyser:xe,playbackRate:re,setPlaybackRate:ce,mainVolume:ge,setMainVolume:z}),[I,U,M,pe,xe,re,ce,ge,z]),Z=l.useRef(null),[fe,Ne]=l.useState("center"),[Ie,Me]=l.useState(!1),Ee=l.useRef(!1),je=l.useRef(null),Ae=l.useCallback(le=>{Ee.current||(Ee.current=!0,Me(!0),je.current=setTimeout(le,f7))},[]);l.useEffect(()=>()=>{je.current&&clearTimeout(je.current)},[]),l.useEffect(()=>{const le=Z.current;if(!le)return;const G=Array.from(le.querySelectorAll(ur)).filter(de=>!de.closest('[aria-hidden="true"]'))[0];if(G)try{G.focus()}catch{}const ee=de=>{if(de.key==="Escape"){de.preventDefault(),Ae(()=>{typeof p=="function"&&p()});return}};return le.addEventListener("keydown",ee),()=>le.removeEventListener("keydown",ee)},[p,Ae]),Ss(Z,!0);const[Fe,Xe]=l.useState(!1),we=l.useRef(!1),[He,Te]=l.useState(null),[Ue,et]=l.useState(""),[Ke,Oe]=l.useState(()=>Fn()),dt=l.useRef(typeof d=="number"?d:null);l.useEffect(()=>{!B&&!V||(Oe(Fn()),Te(null))},[B,F,V]),l.useEffect(()=>{V&&Oe(le=>{const G=Math.max(0,Math.min(le.pageIndex,Math.max(0,te-1)));return G!==le.pageIndex?{...le,pageIndex:G,stepIndex:0}:le})},[V,te]);const xt=V?Math.max(0,Math.min(Ke.pageIndex,te-1)):0,Ze=V?W[xt]:null,st=V&&Ze&&Array.isArray(Ze.steps)?Ze.steps:[],Le=B?Ke.pageIndex:V?xt:typeof d=="number"?d:0,Pe=B?Q[Math.max(0,Math.min(Ke.pageIndex,Math.max(0,Q.length-1)))]:null,rt=B&&Pe&&Array.isArray(Pe.steps)?Pe.steps:[],nt=B?rt.length:V?st.length:typeof h=="number"?h:0,tt=B||V?Math.max(0,Math.min(Ke.stepIndex,Math.max(0,nt))):typeof m=="number"?m:0,lt=B?Q.length:V?te:typeof u=="number"?u:0;l.useLayoutEffect(()=>{const le=dt.current;if(typeof Le=="number"&&le!==null&&Le!==le&&Le>le)try{et(E("training.problemNotice",{n:Le+1}))}catch{}dt.current=typeof Le=="number"?Le:dt.current},[Le,d,E]),l.useLayoutEffect(()=>{const le=Z.current;if(!le)return;const G=()=>le.querySelector(".page-popup__scroll");let ee=null,de=null,Ce=null;const ye=Se=>{const Ge=G();if(!Ge)return;const mt=Ge.scrollHeight<=Ge.clientHeight;if(Ne(mt?"center":"top"),Se&&!we.current){we.current=!0;try{Xe(!0)}catch{}try{ut.disconnect()}catch{}}},De=()=>{ee!==null&&cancelAnimationFrame(ee),ee=requestAnimationFrame(()=>{de!==null&&clearTimeout(de),de=setTimeout(()=>ye(!0),60)})},ze=()=>{Ce!==null&&cancelAnimationFrame(Ce),Ce=requestAnimationFrame(()=>ye(!1))};De(),window.addEventListener("resize",ze);const ut=new MutationObserver(De);ut.observe(le,{childList:!0,subtree:!0,attributes:!0});const ue=setTimeout(()=>{we.current||ye(!0)},400);return()=>{window.removeEventListener("resize",ze),ee!==null&&cancelAnimationFrame(ee),de!==null&&clearTimeout(de),Ce!==null&&cancelAnimationFrame(Ce),clearTimeout(ue);try{ut.disconnect()}catch{}}},[Z]);const yt=l.useCallback(le=>{Z.current&&(Z.current._childOnNext=le)},[]),aa=l.useCallback(le=>{Z.current&&(Z.current._childOnResult=le)},[]),at=l.useCallback((le,G,ee)=>{Oe(de=>{const Ce=de.answersByPage[le]||{},ye=Ce[G],De=On(ee),ze=On(ye);return ye&&ze>De?de:{...de,answersByPage:{...de.answersByPage,[le]:{...Ce,[G]:ee}}}})},[Oe]),Lt=l.useCallback((le,G,ee)=>{const de=Rc(Pe,Le),Ce=Pc(le,G);at(de,Ce,ee)},[Pe,Le,at]),Pt=l.useCallback((le,G,ee)=>{const de=Rc(Pe,Le),Ce=Pc(le,G);at(de,Ce,ee),!ee?.allowChange&&le?.autoAdvance!==!1&&Oe(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,G+1)}))},[Pe,Le,at,Oe]),Wt=l.useCallback((le,G)=>{const ee=Ze?.id||`children-page-${Le??0}`,de=typeof G=="number"?G:tt??0,Ce=`step-${de}`;at(ee,Ce,le),le?.allowChange||Oe(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,de+1)}))},[Ze,Le,tt,at,Oe]),Ea=l.useCallback((le,G)=>{const ee=Ze?.id||`children-page-${Le??0}`,de=`step-${typeof G=="number"?G:tt??0}`;at(ee,de,le)},[Ze,Le,tt,at]),oa=V?{currentPageIndex:Le??0,currentStepIndex:tt??0,totalStepsInPage:st.length,handleStepDone:Wt,handleStepChange:Ea}:null,va=async()=>{const le=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:Q,flowState:Ke,answersByPage:Ke.answersByPage})):null;return typeof $=="function"&&await Promise.resolve($(le))||le},Ta=async()=>{const le=Ze?.id||`children-page-${Ke.pageIndex}`,G=Ke.answersByPage[le]||{},ee=P?(()=>{const ye={};let De=0;return W.forEach(ze=>{const ut=Ke.answersByPage[ze.id]||{},ue=Array.isArray(ze.steps)?ze.steps.length:0;for(let Se=0;Se<ue;Se+=1){const Ge=ut[`step-${Se}`];typeof Ge<"u"&&(ye[`step-${De+Se}`]=Ge)}De+=ue}),ye})():G;if(typeof _=="function"){const ye=await Promise.resolve(_(ee,{pageAnswers:G,answersByPage:Ke.answersByPage,pages:W,currentPageId:le}));return typeof $=="function"&&await Promise.resolve($(ye))||ye}const de=Object.entries(G).map(([ye,De],ze)=>({index:ze,key:ye,payload:De})),Ce={results:de,answers:de,score:0};return typeof $=="function"&&await Promise.resolve($(Ce))||Ce},jt=()=>{try{if(typeof document<"u"&&document.body){try{document.dispatchEvent(new CustomEvent("speechear-close-tooltips"))}catch{}document.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,cancelable:!0})),document.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}}catch{}if(B){const ee=va();Te({});const de=ee;Promise.resolve(de).then(Ce=>{Te(Ce||{isEmpty:!0})}).catch(Ce=>{Te({isEmpty:!0})});return}if(V){const ee=Ta();Te({});const de=ee;Promise.resolve(de).then(Ce=>{Te(Ce||{isEmpty:!0})}).catch(Ce=>{Te({isEmpty:!0})});return}const le=Z.current&&Z.current._childOnResult,G=ee=>{try{return ee?ee():void 0}catch{return}};if(typeof le=="function"){const ee=G(le);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Gt&&Gt.tagName.toUpperCase()==="SCRIPT"&&Gt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}ee&&typeof ee.then!="function"?Te(ee):Te(ee&&typeof ee.then=="function"?{}:{}),Promise.resolve(ee).then(de=>{de&&Te(de)}).catch(de=>{});return}if(typeof $=="function"){const ee=G($);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Gt&&Gt.tagName.toUpperCase()==="SCRIPT"&&Gt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}ee&&typeof ee.then!="function"?Te(ee):Te(ee&&typeof ee.then=="function"?{}:{}),Promise.resolve(ee).then(de=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:Gt&&Gt.tagName.toUpperCase()==="SCRIPT"&&Gt.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}de&&Te(de)}).catch(de=>{console.error("viewResults external handler failed",de)});return}},Ya=()=>{if(B){if(typeof Le=="number"&&typeof lt=="number"&&Le<lt-1){Oe(G=>({...G,pageIndex:G.pageIndex+1,stepIndex:0}));return}return jt()}if(V){const G=st.length;if(typeof tt=="number"&&tt<G-1){Oe(ee=>({...ee,stepIndex:ee.stepIndex+1}));return}if(typeof Le=="number"&&typeof lt=="number"&&Le<lt-1){Oe(ee=>({...ee,pageIndex:ee.pageIndex+1,stepIndex:0}));return}return jt()}if(typeof f=="function"){try{f()}catch{}return}const le=Z.current&&Z.current._childOnNext;if(typeof le=="function"){try{le()}catch{}return}},Et=B?X.title||X.label||C||E("common.popup","\uD31D\uC5C5"):a||w||(Array.isArray(n)?n[n.length-1]:void 0)||C||E("common.popup","\uD31D\uC5C5"),xa=B?X.title??X.label??Et:a??w??Et,qa=(le,G)=>{const ee=Rc(Pe,Le),de=Pc(le,G),Ce=Ke.answersByPage[ee]?.[de],ye=T7(le,{page:Pe,pageIndex:Le,step:le,stepIndex:G,storedPayload:Ce,answersByPage:Ke.answersByPage,flowState:Ke}),De={key:de,index:G,stepIndex:tt,isLast:G===rt.length-1};switch(le?.type){case"listen":return o.jsx(zn,{...De,...ye,onDone:ze=>Pt(le,G,ze)});case"confirm":return o.jsx(Rn,{...De,...ye,onDone:ze=>Pt(le,G,ze),onChange:ze=>Lt(le,G,ze)});case"confirmWithText":return o.jsx(Pn,{...De,...ye,onDone:ze=>Pt(le,G,ze),onChange:ze=>Lt(le,G,ze)});case"orderList":return o.jsx(In,{...De,...ye,onDone:ze=>Pt(le,G,ze),onChange:ze=>Lt(le,G,ze)});default:return null}},Je=B?Q.length>0?o.jsx("div",{className:"training-steps",children:rt.map((le,G)=>qa(le,G))}):o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"pp-empty",children:t?.emptyMessage||E("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,zt=V?o.jsxs(Yb.Provider,{value:oa,children:[Ze?.pageTop?o.jsx("div",{className:"training-page-top",children:Ze.pageTop}):null,o.jsx("div",{className:"training-steps",children:st.map((le,G)=>{const ee=le;return l.cloneElement(ee,{...ee.props,_stepIndex:G,_totalSteps:st.length,_stepKey:`step-${G}`,_pageIndex:Le})})}),Ze?.pageBottom?o.jsx("div",{className:"training-page-bottom",children:Ze.pageBottom}):null]}):null,wt=l.useCallback(()=>{let le;if(y){const G=He,ee=G?.results||G?.answers||[],de=Array.isArray(ee)&&ee.length>0?ee.length:null,Ce=Array.isArray(ee)?ee.filter(De=>De?.correct===!0||De?.isCorrect===!0||De?.score===1||De?.heard===!0||De?.judgement===!0).length:null,ye=de!=null?Ce:null;ns({items:ss(ee),category:Kb.has(y)?"sentence":"word",trainingType:y,entryPoint:A??"sentence",itemRef:S??null,correct:ye,total:de,score:typeof G?.score=="number"?G.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:T??null}),le={correct:ye,total:de}}Te(null),Ae(()=>{typeof g=="function"&&g(le),typeof p=="function"&&p()})},[g,p,y,A,T,S,He,Te,Ae]),_a=l.useCallback(()=>et(""),[et]),ra=l.useCallback(()=>{Ae(()=>{typeof p=="function"&&p()})},[p,Ae]),na=o.jsxs("div",{className:`page-popup${Ie?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Et,children:[o.jsxs("div",{ref:Z,className:`page-popup__panel ${Fe?"":"page-popup__panel--measuring"} ${fe==="center"?"page-popup__panel--center":fe==="top"?"page-popup__panel--top":""}`,children:[o.jsx(Sc,{title:xa,subtitle:B?X.subtitle||X.label:Array.isArray(n)?n.join(" / "):void 0,desc:B?void 0:r,depth:B?X.depth:n,icon:B?X.icon:i,wrapperStyle:B?X.wrapperStyle:s,iconTooltip:B?X.iconTooltip:c,progressMax:lt,progressIndex:Le,pageIndex:Le,pageCount:lt,onBack:ra,onClose:ra}),o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:`page-popup__content ${fe==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:V?zt:B?Je:typeof v=="function"?v({registerOnNext:yt,registerOnResult:aa,panelRef:Z,setResultOverlay:Te}):v})}),o.jsx(Ac,{onSettings:b,onNext:Ya,onResult:jt,useNoiseSettingBtn:!!(B?X.useNoiseSetting??!0:x),stepIndex:tt,stepCount:nt,pageIndex:Le,pageCount:lt})]}),He&&!He.isEmpty&&(D??L7)({score:He.score,results:He.results||He.answers||[],contextsLength:He.results?He.results.length:He.answers?He.answers.length:0,onReplay:()=>{if(Te(null),B){if(Oe(Fn()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(V){Oe(Fn());return}try{const le=Z.current&&Z.current._childOnResult;typeof le=="function"&&le({replay:!0})}catch{}},onClose:wt}),He?.isEmpty&&o.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":E("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:o.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:"page-popup__content page-popup__content--center",children:o.jsx("div",{className:"page-popup__empty",children:E("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),o.jsx("div",{className:"page-popup__bottom",children:o.jsx(ne,{variant:"main",size:48,onClick:wt,label:E("training.result.done","\uC644\uB8CC")})})]})}),o.jsx(ro,{message:Ue,position:"top",onClose:_a})]}),ia=o.jsx(Bb.Provider,{value:J,children:na});return typeof document<"u"&&document.body?Vt.createPortal(ia,document.body):ia}const ja=M7;ja.Page=Sr,ja.ListenStep=Dc,ja.ConfirmStep=jc,ja.ConfirmWithTextStep=Ec,ja.OrderListStep=Tc,ja.CardStep=Lc,ja.CardOrderStep=N7;var $7=".ihabdevteam-core-scope .word-search-result-block__actions{display:flex;gap:var(--spacing-xs);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:flex-end}.ihabdevteam-core-scope .word-search-result-block__inner{background:var(--color-white);border:1px solid var(--color-darkWhite);border-radius:var(--radius-m);padding:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__inner:has(+.word-search-result-block__actions:not(:empty)){margin-bottom:var(--spacing-content)}.ihabdevteam-core-scope .word-search-result-block__items{grid-gap:var(--spacing-xs);display:grid;gap:var(--spacing-xs);grid-template-columns:repeat(auto-fill,200px);justify-content:center}.ihabdevteam-core-scope .word-search-result-block__items .button__label-text,.ihabdevteam-core-scope .word-search-result-block__items .button__sub-label-text{white-space:nowrap;word-break:keep-all}.ihabdevteam-core-scope .word-search-result-block__items .button__label:has(.button__label-text:nth-child(4)){gap:4px 10px;grid-auto-columns:auto;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}.ihabdevteam-core-scope .word-search-result-block__items .button-word:has(.button__label-text:nth-child(4)){height:auto;min-height:72px;padding-bottom:8px;padding-top:8px}@media (max-width:767px){.ihabdevteam-core-scope .word-search-result-block__items{grid-template-columns:repeat(2,1fr);justify-content:normal}.ihabdevteam-core-scope .word-search-result-block__items .button{min-width:0!important;width:100%}}.ihabdevteam-core-scope .word-search-result-block__empty{color:var(--color-gray);margin:0;padding:24px 0;text-align:center}.ihabdevteam-core-scope .word-search-result-block__group{display:flex;flex-direction:column;gap:10px}.ihabdevteam-core-scope .word-search-result-block__group+.word-search-result-block__group{border-top:1px solid var(--color-darkWhite);margin-top:var(--spacing-l);padding-top:var(--spacing-l)}.ihabdevteam-core-scope .word-search-result-block__pagination-bottom{display:flex;justify-content:center;margin-top:16px}.ihabdevteam-core-scope .word-search-result-block__empty-wrap{align-items:center;display:flex;flex-direction:column;gap:8px;gap:var(--spacing-xs,8px)}.ihabdevteam-core-scope .word-search-result-block__empty-hint{color:var(--color-sub);line-height:1.6;max-width:34em;text-align:center}.ihabdevteam-core-scope .word-search-result-block__disc,.ihabdevteam-core-scope .word-search-result-block__notice{display:block}.ihabdevteam-core-scope .word-search-result-block__notice{color:var(--color-text-primary)}";ae($7);var R7='.ihabdevteam-core-scope .tooltip-word-image{background:var(--color-white);border-radius:var(--radius-m);box-shadow:var(--shadow-dropdown);padding:var(--spacing-s);position:fixed;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .tooltip-word-image__cells{display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .tooltip-word-image__cell{background:#f5f5f5;background:var(--color-white,#f5f5f5);border-radius:var(--radius-card);flex-shrink:0;height:120px;overflow:hidden;position:relative;width:120px}.ihabdevteam-core-scope .tooltip-word-image__cell img{display:block;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity .2s;width:100%}.ihabdevteam-core-scope .tooltip-word-image__spinner{align-items:center;display:flex;inset:0;justify-content:center;position:absolute}.ihabdevteam-core-scope .tooltip-word-image__spinner:after{animation:tooltip-spin .7s linear infinite;border:3px solid #e0e0e0;border-radius:50%;border-top:3px solid var(--color-white,#e0e0e0);border:3px solid var(--color-white,#e0e0e0);border-top-color:var(--color-main,#4f6ef7);content:"";height:24px;width:24px}@keyframes tooltip-spin{to{transform:rotate(1turn)}}.ihabdevteam-core-scope .tooltip-word-image__cell--text{align-items:center;color:var(--color-black);display:flex;font-weight:700;justify-content:center}';ae(R7);function P7({label:e,homonum:t}){const a=Ma()?.(e,t)??"",{imgRef:r,loading:n,hasImage:i,onLoad:s,onError:c}=tc(a);return i?o.jsxs("div",{className:"tooltip-word-image__cell",children:[n&&o.jsx("div",{className:"tooltip-word-image__spinner"}),o.jsx("img",{ref:r,src:a,alt:e,draggable:!1,style:{opacity:n?0:1},onLoad:s,onError:c})]}):o.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:o.jsx("span",{children:e})})}function zc({words:e,anchorRect:t}){const a=l.useRef(null),[r,n]=l.useState(null);return l.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:s}=a.current,c=window.innerWidth;let d=t.left+t.width/2-i/2,u=t.top-s-8;u<8&&(u=t.bottom+8),d=Math.max(8,Math.min(d,c-i-8)),n({left:d,top:u})},[t]),!t||e.length===0?null:Vt.createPortal(o.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:r?"visible":"hidden",left:r?.left??0,top:r?.top??-9999},children:o.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>o.jsx(P7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function Zb({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:m,onPrintEmpty:h,className:p,emptyHint:g,sectionType:f="page",disc:b,notice:x}){const{t:v,i18n:C}=me.useTranslation(),w=C.language?.startsWith("ko")??!1,{anchorRect:_,openAt:k,close:y}=ko(),[A,T]=l.useState(null),S=l.useCallback(()=>{y(),T(null)},[y]);Al(S,!!A);const D=(r??"").trim(),H=/^[^,[\]\s]+$/.test(D)?D:"",R=H.length>0,[E,$]=l.useState("ganada"),[B,F]=l.useState("50"),[X,Q]=l.useState(1),[oe,N]=l.useState(R);oe!==R&&(N(R),$(R?"match":"ganada"));const L=E==="match"&&!R?"ganada":E,P=l.useMemo(()=>[...R?[{value:"match",label:v("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:v("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:v("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:v("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:v("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:v("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:v("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[v,R]),W=l.useMemo(()=>["10","25","50","100"].map(z=>({value:z,label:v("wordSearch.pageSize",{count:Number(z),defaultValue:`${z}\uAC1C\uC529 \uBCF4\uAE30`})})),[v]),V=z=>z.words[0],te=l.useCallback((z,J)=>{const Z=Ie=>V(Ie)?.label??"",fe=Ie=>V(Ie)?.syllables??[...Z(Ie)].length,Ne=Ie=>{const Me=parseInt(V(Ie)?.grade??"",10);return Number.isFinite(Me)?Me:999};switch(L){case"match":{const Ie=[...H].length,Me=Ee=>ho(Z(Ee).slice(0,Ie),H)?0:1;return Me(z)-Me(J)||Z(z).localeCompare(Z(J),"ko")}case"ganada":return Z(z).localeCompare(Z(J),"ko");case"ganada_desc":return Z(J).localeCompare(Z(z),"ko");case"syllable":return fe(z)-fe(J)||Z(z).localeCompare(Z(J),"ko");case"syllable_desc":return fe(J)-fe(z)||Z(z).localeCompare(Z(J),"ko");case"grade":return Ne(z)-Ne(J)||Z(z).localeCompare(Z(J),"ko");case"grade_desc":return Ne(J)-Ne(z)||Z(z).localeCompare(Z(J),"ko");default:return 0}},[L,H]),I=l.useMemo(()=>n.slice().sort(te),[n,te]),q=Number(B)||10,O=l.useMemo(()=>(i??[]).flatMap(z=>z.items.slice().sort(te).map(J=>({item:J,label:z.label}))),[i,te]),ie=i?O.length:I.length,pe=Math.max(1,Math.ceil(ie/q)),ve=Math.min(X,pe),xe=l.useMemo(()=>I.slice((ve-1)*q,ve*q),[I,ve,q]),be=l.useMemo(()=>{if(!i)return null;const z=O.slice((ve-1)*q,ve*q),J=new Map;for(const{item:Z,label:fe}of z)J.has(fe)||J.set(fe,[]),J.get(fe).push(Z);return[...J.entries()].map(([Z,fe])=>({label:Z,items:fe}))},[i,O,ve,q]);l.useEffect(()=>{Q(1)},[E,B,ie]);const M=ie>0?o.jsxs("div",{className:"word-search-result-block__toolbar",children:[o.jsx(Ut,{size:40,options:P,value:L,onChange:$,ariaLabel:v("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),o.jsx(Ut,{size:40,options:W,value:B,onChange:F,ariaLabel:v("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),o.jsx(xr,{page:ve,totalPages:pe,onChange:Q})]}):void 0,U=z=>{c&&c(z)},re=t!==void 0&&a?o.jsxs(o.Fragment,{children:[v("wordSearch.resultTitlePrefix","\uCD1D "),o.jsx("span",{style:{color:"var(--color-main)"},children:t}),v("wordSearch.resultTitleSuffix",{unit:w?Pi(a):a})]}):void 0,ge=t!==void 0&&t>0&&d!==void 0&&a?v("wordSearch.resultDisc",{unit:w?Ii(a):a,max:d,selected:s.length}):void 0,ce=b??(x?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"word-search-result-block__notice",children:x}),ge?o.jsx("span",{className:"word-search-result-block__disc",children:ge}):null]}):ge);return o.jsxs(no,{type:f,icon:e,title:re,action:M,disc:ce,className:_e("word-search-result-block",p),children:[o.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&o.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[o.jsx("p",{className:"word-search-result-block__empty body-3",children:v("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&o.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(be??[]).map(z=>o.jsx("div",{className:"word-search-result-block__group",children:o.jsx("div",{className:"word-search-result-block__items",children:z.items.map(J=>{const Z=s.includes(J.id);return o.jsx("div",{onMouseEnter:fe=>{k(fe.currentTarget),T(J.words)},onMouseLeave:S,children:o.jsx(ne,{size:"word",align:"grid",label:J.words.map(fe=>fe.label),subLabel:J.words.map(fe=>fe.subLabel).filter(Boolean).length>0?J.words.map(fe=>fe.subLabel):void 0,selected:Z,onClick:()=>U(J.id),minWidth:200})},J.id)})})},z.label)):o.jsx("div",{className:"word-search-result-block__items",children:xe.map(z=>{const J=s.includes(z.id);return o.jsx("div",{onMouseEnter:Z=>{k(Z.currentTarget),T(z.words)},onMouseLeave:S,children:o.jsx(ne,{size:"word",align:"grid",label:z.words.map(Z=>Z.label),subLabel:z.words.map(Z=>Z.subLabel).filter(Boolean).length>0?z.words.map(Z=>Z.subLabel):void 0,selected:J,onClick:()=>U(z.id),minWidth:200})},z.id)})}),A&&_&&o.jsx(zc,{words:A,anchorRect:_})]}),pe>1&&o.jsx("div",{className:"word-search-result-block__pagination-bottom",children:o.jsx(xr,{page:ve,totalPages:pe,onChange:Q})}),(u||m)&&o.jsxs("div",{className:"word-search-result-block__actions",children:[u&&o.jsx(ne,{size:"56",type:"bar",label:v("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:u}),m&&o.jsx("div",{onClick:s.length===0?h:void 0,children:o.jsx(ne,{size:"56",type:"bar",variant:"main",label:v("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:m})})]})]})}var z7='.ihabdevteam-core-scope .phoneme-select-block{align-items:flex-start;flex:1 1 auto;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell{align-items:center;display:flex;flex-direction:column;gap:12px}.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;display:flex;flex-direction:row;gap:var(--spacing-xs);justify-content:center;width:100%}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__controls{align-items:center;flex-direction:column}}.ihabdevteam-core-scope .phoneme-select-block__count-control{align-self:center}.ihabdevteam-core-scope .phoneme-select-block__cell-group{align-items:flex-start;display:flex;gap:var(--spacing-xs)}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;color:var(--color-lightGray);margin-bottom:22px;padding:0 16px}.ihabdevteam-core-scope .phoneme-select-block__pair-panels{display:flex;gap:var(--spacing-s);width:100%}.ihabdevteam-core-scope .phoneme-select-block__panel-group{display:flex;flex:1;flex-direction:column;gap:var(--spacing-m)}.ihabdevteam-core-scope .phoneme-select-block__cells{align-items:flex-start;display:flex;gap:var(--spacing-xs);justify-content:center;padding:var(--spacing-m) 0;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{align-items:center;background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);box-shadow:var(--shadow-tooltip);display:flex;height:80px;justify-content:center;position:relative;width:240px}.ihabdevteam-core-scope .phoneme-select-block__cell-index{color:var(--color-gray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo{align-items:stretch;display:flex;flex-direction:row;height:100%;justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{align-items:center;color:var(--color-black);display:flex;flex:1;flex-direction:column;gap:4px;justify-content:center;padding-top:3px;position:relative}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--no-label{padding-top:0}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char.h1{line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-char--excluded{color:var(--color-whiteLine);transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-char{transform:translateY(-2px)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-label{color:var(--color-lightGray);line-height:1}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty .phoneme-select-block__cell-jamo-label{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part+.phoneme-select-block__cell-jamo-part:before{background:var(--color-whiteLine);content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:1px}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part--empty{color:var(--color-darkWhite)}.ihabdevteam-core-scope .phoneme-select-block__panels{align-items:stretch;align-self:stretch;display:flex;flex-direction:column;gap:var(--spacing-m);width:100%}.ihabdevteam-core-scope .phoneme-select-block__detail{align-items:flex-start;display:flex;flex-direction:row;gap:var(--spacing-s);justify-content:center}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{flex:1}.ihabdevteam-core-scope .phoneme-select-block>.filter-panel{align-self:stretch;width:100%}.ihabdevteam-core-scope .phoneme-select-block__controls .button38--bar{min-width:96px}.ihabdevteam-core-scope .phoneme-select-block__required{color:var(--color-main);line-height:1;margin-left:2px}.ihabdevteam-core-scope .phoneme-select-block__before-search{display:flex;justify-content:center;text-align:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__search-row{display:flex;gap:var(--spacing-xs);justify-content:center;width:100%}.ihabdevteam-core-scope .phoneme-select-block__checking{align-items:center;background:transparent;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);color:var(--color-disabled);cursor:default;display:flex;gap:10px;height:60px;min-width:198px;padding:0 28px}.ihabdevteam-core-scope .phoneme-select-block__checking-label{white-space:nowrap}.ihabdevteam-core-scope .phoneme-select-block__spinner{animation:phonemeSpinner .7s linear infinite;border:2px solid var(--color-whiteLine);border-radius:50%;border-top-color:var(--color-disabled);flex-shrink:0;height:18px;width:18px}@keyframes phonemeSpinner{to{transform:rotate(1turn)}}@media (max-width:767px){.ihabdevteam-core-scope .phoneme-select-block__detail,.ihabdevteam-core-scope .phoneme-select-block__pair-panels{flex-direction:column}.ihabdevteam-core-scope .phoneme-select-block__detail>.filter-panel{width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-vs{align-self:center;margin-bottom:0;padding:4px 0}.ihabdevteam-core-scope .phoneme-select-block__cells{flex-wrap:wrap}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{height:64px;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{font-size:24px}}';ae(z7);function I7(e,t){return t.map(a=>{const r=typeof a=="string"?a:a.label,n=typeof a=="string"?void 0:a.displayLabel;return{label:r,value:e[r]??"",displayLabel:n}})}function Xb({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:m,title:h,titleIcon:p,disc:g,showInfoButton:f=!1,onClearPhoneme:b,onSearch:x,onSearchEmpty:v,searchDisabled:C=!1,searchLabel:w,searchChecking:_=!1,pairMode:k=!1,sectionType:y="page",beforeSearchContent:A,beforeContent:T,afterContent:S,hideCountControl:D=!1,ordinal:H=!1}){const{t:R}=me.useTranslation(),E=l.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),$=l.useMemo(()=>Array.from({length:n-i+1},(I,q)=>{const O=i+q;return{key:String(O),label:R("wordPairs.count",{n:O})}}),[R,n,i]),B=l.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),F=l.useCallback(I=>H?R("wordPairs.phonemeOrdinalLabel",{ordinal:B[I-1]??I}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:I}),[H,B,a,R]),X=l.useCallback(I=>H?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:B[I-1]??I}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:I}),[H,B,a,R]),Q=l.useCallback((I,q)=>q?o.jsxs(o.Fragment,{children:[I,o.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):I,[]),{anchorRect:oe,toggleAt:N,close:L}=ko(),P=l.useCallback(I=>r(Number(I)),[r]),W=Qt("(max-width: 767px)"),V=l.useCallback(I=>I7(I,e).map(({label:q,value:O,displayLabel:ie})=>{const pe=!!O&&O!=="\uC5C6\uC74C";return o.jsxs("span",{className:_e("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",pe?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[o.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||u}),pe&&o.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:ie??q})]},q)}),[e,u]),te=o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-tooltip-ignore":!0,children:o.jsx(ne,{size:40,type:W?"dot":void 0,icon:"info",label:W?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!oe,onClick:I=>N(I.currentTarget)})}),oe&&o.jsx(Fa,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:E,anchorRect:oe,onClose:L})]});return o.jsxs(no,{type:y,title:h,icon:p,disc:g,action:te,className:_e("phoneme-select-block",m),children:[T,(!D||f&&!(h||g))&&o.jsxs("div",{className:"phoneme-select-block__controls",children:[!D&&o.jsx(Va,{options:$,value:String(a),onChange:P,size:40,className:"phoneme-select-block__count-control"}),f&&!(h||g)&&te]}),o.jsx("div",{className:"phoneme-select-block__cells",children:k?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(q+1)})]},q)})}),o.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2+1]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:X(q+1)})]},q)})})]}):t.map((I,q)=>o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:V(I)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:F(q+1)})]},q))}),(s||c)&&o.jsx("div",{className:"phoneme-select-block__panels",children:o.jsx("div",{className:"phoneme-select-block__detail",children:k?o.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2]??{};return o.jsx(fa,{title:Q(F(q+1),q===0),sections:c?c(O,q*2):s,selected:O,onSelect:d?.(q*2),align:"newline"},q)})}),o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2+1]??{};return o.jsx(fa,{title:X(q+1),sections:c?c(O,q*2+1):s,selected:O,onSelect:d?.(q*2+1),align:"newline"},q)})})]}):t.map((I,q)=>o.jsx(fa,{title:Q(F(q+1),q===0),sections:c?c(I,q):s,selected:I,onSelect:d?.(q),align:"newline"},q))})}),A&&o.jsx("div",{className:"phoneme-select-block__before-search",children:A}),(b||x||_)&&(()=>{const I=t.every(q=>Object.entries(q).every(([O,ie])=>!ie||O==="\uC885\uC131"&&ie==="\uC5C6\uC74C"));return o.jsxs("div",{className:"phoneme-select-block__search-row",onClick:I?v:void 0,children:[b&&o.jsx(ne,{size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:I,onClick:I?void 0:b}),_?o.jsxs("div",{className:"phoneme-select-block__checking",children:[o.jsx("div",{className:"phoneme-select-block__spinner"}),o.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:w??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):x&&o.jsx(ne,{size:"56",type:"bar",variant:"main",label:w??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:I||C,onClick:I||C?void 0:x})]})})(),S]})}function Jb({title:e,sections:t,selected:a,onSelect:r,className:n}){const{t:i}=me.useTranslation();return o.jsx(fa,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function Qb({title:e,headerAction:t,sections:a,selected:r,onSelect:n,className:i}){const{t:s}=me.useTranslation();return a.length===0?null:o.jsx(fa,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:n,align:"newline"})}function eg({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:d,className:u}){const{t:m}=me.useTranslation(),h={searchMode:m("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:m("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:m("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:m("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:m("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:m("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:m("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:m("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:m("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:m("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:m("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},p=x=>m("wordPairs.count",{n:x}),g=[{label:h.searchMode,items:[h.include,h.pick,h.explicit],display:"segmented",labelAction:o.jsx(Ao,{title:m("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[m("wordPairs.mode.infoInclude","\uC74C\uC18C \uD3EC\uD568 \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uBAA8\uB450 \uB4E4\uC5B4\uAC04 \uB2E8\uC5B4\uC640 \uADF8 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694."),m("wordPairs.mode.infoPick","\uC74C\uC18C \uB300\uB9BD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uAC00 \uB300\uB9BD\uC30D \uB450 \uB2E8\uC5B4\uC758 \uC2E4\uC81C \uCC28\uC774\uC810\uC77C \uB54C\uB9CC \uB9E4\uCE6D\uB3FC\uC694."),m("wordPairs.mode.infoContrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815 \u2014 \uAE30\uC900 \uB2E8\uC5B4\uC640 \uB300\uB9BD \uB2E8\uC5B4\uC758 \uC74C\uC18C\uB97C \uAC01\uAC01 \uC9C1\uC811 \uC120\uD0DD\uD574 \uB300\uB9BD\uC30D\uC744 \uCC3E\uC544\uC694.")]})},{label:h.phonemeOrder,items:[h.orderAny,h.orderMatch],display:"segmented",labelAction:o.jsx(Ao,{items:m("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:h.count,items:[p(1),p(2)],display:"segmented"},{label:h.inputMode,items:[h.charInput,h.pronInput],display:"segmented",labelAction:o.jsx(Ao,{title:m("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[m("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),m("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],f={[h.searchMode]:t==="explicit"?h.explicit:t==="pick"?h.pick:h.include,[h.phonemeOrder]:r==="ordered"?h.orderMatch:h.orderAny,[h.count]:p(i),[h.inputMode]:c==="phoneme"?h.pronInput:h.charInput},b=(x,v)=>{v===h.searchMode?a(x===h.explicit?"explicit":x===h.pick?"pick":"include"):v===h.phonemeOrder?n(x===h.orderMatch?"ordered":"unordered"):v===h.count?s(x===p(2)?2:1):v===h.inputMode&&d(x===h.pronInput?"phoneme":"word")};return o.jsx(fa,{className:u,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:f,onSelect:b,align:"inline"})}var O7=".ihabdevteam-core-scope .popup-list .popup-panel{max-height:calc(100% - 60px);max-width:880px;width:calc(100% - 40px)}.ihabdevteam-core-scope .popup-list .popup-content{display:flex;flex-direction:column;gap:var(--spacing-m);min-height:0;overflow:hidden}.ihabdevteam-core-scope .popup-list .table-wrap{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .popup-list .table-fields,.ihabdevteam-core-scope .popup-list .table-row{min-width:520px}.ihabdevteam-core-scope .popup-list__row--selected{background:var(--color-deepWhite);color:var(--color-main);font-weight:600}";ae(O7);function tg(e){const{title:t,items:a,columns:r,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:m,onSelect:h,onClose:p,pageSizeOptions:g=[10,25,50,100],initialPageSize:f,emptyText:b,countLabel:x,topContent:v,className:C=""}=e,{t:w}=me.useTranslation(),_=i??w("common.search","\uAC80\uC0C9"),k=b??w("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[y,A]=l.useState(""),[T,S]=l.useState(c??r[0]?.key??""),[D,H]=l.useState(d),[R,E]=l.useState(String(f??g[0]??10)),[$,B]=l.useState(1);l.useEffect(()=>{B(1)},[y,R]);const F=s!==null,X=l.useCallback((I,q)=>{if(!q)return!0;const O=q.toLowerCase();return r.some(ie=>{const pe=I[ie.key];return pe==null?!1:String(pe).toLowerCase().includes(O)})},[r]),Q=s??X,oe=l.useMemo(()=>{const I=F?a.filter(q=>Q(q,y)):a;return T?[...I].sort((q,O)=>{const ie=q[T]??"",pe=O[T]??"";if(ie===pe)return 0;const ve=M8(ie,pe);return D?ve:-ve}):I},[a,y,T,D,F,Q]),N=Math.max(1,Math.ceil(oe.length/Number(R))),L=oe.slice(($-1)*Number(R),$*Number(R)),P=l.useCallback(I=>{T===I?H(q=>!q):(S(I),H(!0))},[T]),W=l.useMemo(()=>{if(typeof x=="string"&&x.includes("{n}")){const[I,q]=x.split("{n}");return{prefix:I,suffix:q}}return{prefix:w("common.totalCountPrefix","\uCD1D "),suffix:w("common.totalCountSuffix","\uAC1C")}},[x,w]),V=l.useMemo(()=>r.map(I=>({label:I.label,onClick:I.sortable!==!1?()=>P(I.key):void 0,className:I.className,sortDir:I.sortable!==!1&&T===I.key?D?"asc":"desc":null})),[r,T,D,P]),te=l.useMemo(()=>g.map(I=>({value:String(I),label:w("common.pageSizeLabel",{n:I})})),[g,w]);return o.jsxs(Ba,{className:`popup-list ${C}`,title:t,onClose:p,children:[v,o.jsx(Cn,{count:{value:oe.length,prefix:W.prefix,suffix:W.suffix},search:F?{value:y,onChange:A,placeholder:_}:void 0,pageSize:{options:te,value:R,onChange:E},pagination:{page:$,total:N,onChange:B}}),o.jsx(An,{size:"medium",gridTemplateColumns:n,resizable:!0,fields:V,items:L,onRowClick:h,renderRow:I=>{const q=m!=null?I.id!=null&&m.has(I.id):u!=null&&I.id===u;return r.map(O=>({content:O.render?O.render(I):I[O.key]??"",className:q?"popup-list__row--selected":O.className}))},empty:k})]})}function ag(e){const{title:t,message:a,topContent:r,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:m="main",confirmDisabled:h=!1,onConfirm:p,closeOnConfirm:g=!0,onClose:f,inline:b,size:x="small",className:v}=e,{t:C}=me.useTranslation(),w=l.useRef(!1),[_,k]=l.useState(!1);return o.jsxs(Ba,{title:t,onClose:f,closeDisabled:_,inline:b,size:x,className:_e("confirm-popup",v),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||_,onClick:async({closeWithAnimation:y})=>{if(!w.current){w.current=!0,k(!0);try{await u.onClick(y),(u.closeOnClick??!0)&&y()}finally{w.current=!1,k(!1)}}}}]:[],...d?[]:[{label:c??C("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:_,onClick:({closeWithAnimation:y})=>y()}],{label:s??C("common.confirm","\uD655\uC778"),variant:m,disabled:h||_,onClick:async({closeWithAnimation:y})=>{if(!w.current){w.current=!0,k(!0);try{await p(y),g&&y()}finally{w.current=!1,k(!1)}}}}],children:[r!=null&&o.jsx("div",{className:"confirm-popup__top",children:r}),n&&n.length>0&&o.jsx(Ar,{children:n.map((y,A)=>o.jsx(Da,{label:y.label,children:o.jsx("span",{className:"panel-row__text body-2",children:y.value})},A))}),o.jsx("p",{className:"body-2 confirm-popup__message",children:a}),i]})}var F7=".ihabdevteam-core-scope .coupon-input-popup__input{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:var(--radius-s);box-sizing:border-box;color:var(--color-darkGray);font-family:inherit;height:48px;letter-spacing:.06em;padding:0 14px;text-transform:uppercase;transition:border-color .15s;width:100%}.ihabdevteam-core-scope .coupon-input-popup__input:focus{border-color:var(--color-main);outline:none}.ihabdevteam-core-scope .coupon-input-popup__input::-moz-placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__input::placeholder{color:var(--color-lightGray);letter-spacing:normal;text-transform:none}.ihabdevteam-core-scope .coupon-input-popup__error{color:#e84040;color:var(--color-red,#e84040);margin:var(--spacing-xs) 0 0}";ae(F7);function og({onApply:e,onCancel:t}){const{t:a}=me.useTranslation(),[r,n]=l.useState(""),[i,s]=l.useState(!1),[c,d]=l.useState(null),u=l.useRef(null);l.useEffect(()=>{u.current?.focus()},[]);const m=l.useCallback(async g=>{const f=r.trim();if(f){s(!0),d(null);try{await e(f),g()}catch(b){d(Kr(b)),s(!1)}}},[r,e]),h=l.useCallback((g,f)=>{g.key==="Enter"&&m(f)},[m]),p=g=>{n(g.target.value),d(null)};return o.jsx(Ba,{className:"coupon-input-popup",title:a("usage.couponButton","\uCFE0\uD3F0 \uC785\uB825"),size:"small",onClose:t,closeDisabled:i,buttons:[{label:a("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:i,onClick:({closeWithAnimation:g})=>g()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!r.trim()||i,onClick:({closeWithAnimation:g})=>{m(g)}}],children:({closeWithAnimation:g})=>o.jsxs(o.Fragment,{children:[o.jsx("input",{ref:u,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:r,onChange:p,onKeyDown:f=>h(f,g),disabled:i,autoComplete:"off",spellCheck:!1}),c&&o.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var H7=".ihabdevteam-core-scope .tooltip-content.tooltip-training{pointer-events:none}.ihabdevteam-core-scope .tooltip-training__box{background:var(--color-white);border-radius:var(--radius-m);box-shadow:0 4px 16px rgba(0,0,0,.12);padding:10px 14px}.ihabdevteam-core-scope .tooltip-training__groups{align-items:stretch;display:flex;flex-direction:row;gap:0}.ihabdevteam-core-scope .tooltip-training__section{display:flex;flex-direction:column;flex-shrink:0;gap:6px;width:100px}.ihabdevteam-core-scope .tooltip-training__section-header{align-items:center;display:flex}.ihabdevteam-core-scope .tooltip-training__type-label{color:var(--color-darkGray);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .tooltip-training__divider{align-self:center;background:var(--color-whiteLine);flex-shrink:0;height:20px;margin:0 10px;width:1px}.ihabdevteam-core-scope .tooltip-training__items{display:flex;flex-direction:column;gap:2px;pointer-events:none}.ihabdevteam-core-scope .tooltip-training__items .training-block-button--compact{cursor:default}";ae(H7);const rg=200;function W7(e){return e.itemId?(xs()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function ng({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:n}=me.useTranslation(),i=l.useMemo(()=>an.map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items]);if(i.length===0)return null;const s=o.jsx("div",{className:"tooltip-training__box",children:o.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?o.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,o.jsxs("div",{className:"tooltip-training__section",children:[o.jsx("div",{className:"tooltip-training__section-header",children:o.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),o.jsx("div",{className:"tooltip-training__items",children:d.map((m,h)=>{const p=W7(m);return p?o.jsx(Sn,{index:h,type:c,trainingData:p,size:"compact",hideCheckBadge:!0},m.itemId??h):null})})]},c.key)])})});return t?o.jsx(Aa,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}var V7=".ihabdevteam-core-scope .party-container{inset:0;overflow:visible;pointer-events:none;position:fixed}.ihabdevteam-core-scope .confetti{display:none;left:0;opacity:0;position:fixed;top:0;transform:translateZ(0);will-change:transform,opacity}.ihabdevteam-core-scope .confetti--left{transform-origin:left bottom}.ihabdevteam-core-scope .confetti--right{transform-origin:right bottom}.ihabdevteam-core-scope .confetti.show{display:block;opacity:1;transition:opacity .2s linear}";ae(V7);const ig=["var(--color-main)","var(--color-sub)"];function Ic({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const b=Math.floor(t/2),x=t-b,v=(C,w)=>Array.from({length:C}).map((_,k)=>{const y=6+Math.random()*12,A=Math.round(Math.min(18,y*Math.min(1.5,1+r*.4))),T=ig[Math.floor(Math.random()*ig.length)],S=Math.random()*300,D=(360+Math.random()*260)*r*1.2,H=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(H)*D,E=Math.sin(H)*D*1.35,$=Math.random()*720-360,B=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),F=Math.random()>.7?"50%":"3px";return{id:`${w}-${k}`,side:w,size:A,color:T,delay:S,vx:R,vy:E,angularVel:$,life:B,borderRadius:F}});return[...v(b,"left"),...v(x,"right")]},[t,r]),c=l.useRef(null),d=l.useRef({}),u=l.useRef(null),m=l.useRef(n);l.useEffect(()=>{m.current=n},[n]);const h=l.useRef(null),p=l.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&p.current==null&&(p.current=g()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){m.current?.();return}const b=1200,x=performance.now(),v=p.current&&p.current!==document.body?p.current.getBoundingClientRect():null,C=Math.max(60,(window.innerHeight||800)*.05),w=N=>Math.max(40,(N||window.innerWidth)*.02),_=v?.width||window.innerWidth||375,k=v?.height||window.innerHeight||812,y=N=>{const L=[...N].sort((P,W)=>P-W);return L[Math.floor(L.length/2)]||1},A=y(s.map(N=>Math.abs(N.vy))),T=y(s.map(N=>Math.abs(N.vx))),S=Math.sqrt(2*b*(k*.72+C))/A,D=A*S/b,H=_*.5/(T*D),R=(N,L,P)=>Math.min(P,Math.max(L,N)),E=R(S,.8,2.4),$=R(H,.7,2.2),B=s.map(N=>({...N,vx:N.vx*$,vy:N.vy*E,startTime:x+N.delay,ended:!1})),F=v?{x:v.left-w(v.width),y:v.top+v.height+C}:{x:-w(window.innerWidth),y:window.innerHeight+C},X=v?{x:v.left+v.width+w(v.width),y:v.top+v.height+C}:{x:window.innerWidth+w(window.innerWidth),y:window.innerHeight+C},Q=N=>{let L=!1;for(const P of B){const W=d.current[P.id];if(!W||!W)continue;if(N<P.startTime){W.style.display="none";continue}if(!P._inited){const be=P.side==="left"?F.x:X.x,M=P.side==="left"?F.y:X.y;W.style.left=`${be}px`,W.style.top=`${M}px`,W.style.transform="translate3d(0px, 0px, 0)",W.style.display="block",W.style.zIndex="100000";try{if(typeof window<"u"&&typeof P.color=="string"&&P.color.startsWith("var(")){const U=P.color.slice(4,-1).trim(),re=getComputedStyle(document.documentElement).getPropertyValue(U).trim();re?W.style.background=re:W.style.background="#FF0060"}}catch{}P._inited=!0}const V=(N-P.startTime)/1e3;if(V<0)continue;const te=P.life/1e3;if(V>=te){W.style.opacity="0",W.style.display="none",P.ended=!0;continue}L=!0;const I=P.side==="left"?F.x:X.x,q=P.side==="left"?F.y:X.y,O=I+P.vx*V,ie=q+P.vy*V+.5*b*V*V,pe=(P.angularVel||0)*V,ve=O-I,xe=ie-q;W.style.transform=`translate3d(${ve}px, ${xe}px, 0) rotate(${pe}deg)`,W.style.opacity=`${Math.max(0,1-V/te)}`}L?u.current=requestAnimationFrame(Q):m.current?.()};u.current=requestAnimationFrame(Q);const oe=setTimeout(()=>{try{if((p.current?p.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const N=document.createElement("div");N.className="party-container",N.style.position="fixed",N.style.inset="0",N.style.pointerEvents="none",N.style.overflow="visible",N.style.zIndex="2147483647";for(const L of s){const P=document.createElement("span");P.className=`confetti confetti--${L.side}`,P.setAttribute("aria-hidden","true"),P.style.display="none",P.style.position="fixed",P.style.left="0px",P.style.top="0px",P.style.width=`${L.size}px`,P.style.height=`${Math.max(4,L.size*.6)}px`;let W=L.color;try{if(typeof W=="string"&&W.startsWith("var(")){const V=W.slice(4,-1).trim(),te=getComputedStyle(document.documentElement).getPropertyValue(V).trim();te&&(W=te)}}catch{}P.style.background=W,P.style.borderRadius=L.borderRadius,P.style.transform="translate3d(0,0,0)",P.style.opacity="0",N.appendChild(P),d.current[L.id]=P}(document.body||p.current).appendChild(N),h.current=N}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout(oe),h.current){try{h.current.remove()}catch{}h.current=null}}},[e,a,i,s]),!e)return null;const f=o.jsx("div",{className:"party-container",ref:c,children:s.map(b=>o.jsx("span",{"aria-hidden":!0,ref:x=>{d.current[b.id]=x},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?Vt.createPortal(f,p.current||document.body):f}function sg({trigger:e=0,active:t=!1}){const a=l.useRef(0);return l.useEffect(()=>{a.current=e},[e]),o.jsx(Ic,{active:t,trigger:e})}var G7=".ihabdevteam-core-scope .page-title{align-items:center;display:flex;gap:12px;justify-content:space-between;padding-bottom:var(--spacing-page)}.ihabdevteam-core-scope .page-title__main{align-items:flex-start;display:flex;flex:1;flex-direction:column;min-width:0;text-align:left}.ihabdevteam-core-scope .page-title__title-row{align-items:center;display:flex;gap:12px}.ihabdevteam-core-scope .page-title__title{margin:0}.ihabdevteam-core-scope .page-title__title-action{align-items:center;display:flex;flex-shrink:0}.ihabdevteam-core-scope .page-title__badge{align-items:center;display:flex}.ihabdevteam-core-scope .page-title__sub{color:var(--color-gray);margin:6px 0 0}.ihabdevteam-core-scope .page-title__action{flex-shrink:0;margin-left:var(--spacing-s)}@media (max-width:767px){.ihabdevteam-core-scope .page-title{align-items:flex-start;flex-direction:column;gap:10px}.ihabdevteam-core-scope .page-title__action{align-self:flex-start;margin-left:0}}.ihabdevteam-core-scope .page-title__back{flex-shrink:0;margin-left:-8px;margin-right:-4px}";ae(G7);function lg({title:e,sub:t,rightAction:a,titleAction:r,badge:n,badgeVariant:i="default",documentTitle:s,onBack:c,backLabel:d}){const{t:u}=me.useTranslation();sl(typeof e=="string"?e:s??null);const m=d??u("common.back","\uB4A4\uB85C");return o.jsxs("div",{className:"page-title",children:[o.jsxs("div",{className:"page-title__main",children:[o.jsxs("div",{className:"page-title__title-row",children:[c&&o.jsx(ne,{className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:m,showTooltipInfo:m,onClick:c}),o.jsx("h1",{className:"page-title__title h1",children:e}),n&&o.jsx("div",{className:"page-title__badge",children:o.jsx(ht,{label:n,size:"small",variant:i,fill:"outline"})}),r?o.jsx("div",{className:"page-title__title-action",children:r}):null]}),t&&o.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?o.jsx("div",{className:"page-title__action",children:a}):null]})}function cg(e){return e??""}const dg=l.createContext({words:[],loading:!1});function ug(){return l.useContext(dg)}function pg({words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return o.jsx(dg.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var U7=".ihabdevteam-core-scope .summary-strip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-m) var(--spacing-l);width:100%}.ihabdevteam-core-scope .summary-strip--flat{box-shadow:none}.ihabdevteam-core-scope .summary-strip__row{align-items:center;display:flex;gap:var(--spacing-l)}.ihabdevteam-core-scope .summary-strip__items{grid-gap:var(--spacing-s) var(--spacing-l);display:grid;flex:1;gap:var(--spacing-s) var(--spacing-l);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}@media (min-width:640px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1280px){.ihabdevteam-core-scope .summary-strip__items{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--summary-strip-cols,4),minmax(0,1fr))}}.ihabdevteam-core-scope .summary-strip__item{min-width:0}.ihabdevteam-core-scope .summary-strip__label{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .summary-strip__value{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .summary-strip__actions{align-items:center;display:flex;flex-shrink:0;gap:var(--spacing-xs)}";ae(U7);function hg({items:e,actions:t,columns:a,flat:r=!1,className:n,style:i}){const s=a??e.length;return o.jsx("section",{className:_e("summary-strip",r&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(s),...i},children:o.jsxs("div",{className:"summary-strip__row",children:[o.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>o.jsxs("div",{className:"summary-strip__item",children:[o.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),o.jsx("p",{className:"summary-strip__value body-3b",children:c.value})]},d))}),t&&o.jsx("div",{className:"summary-strip__actions",children:t})]})})}var Y7='.ihabdevteam-core-scope .report-doc{--report-page-w:210mm;--report-page-h:297mm;--report-margin:14mm;display:flex;justify-content:safe center;max-width:100%;min-width:0;overflow-x:auto;padding-block:var(--spacing-s);position:relative;width:100%}.ihabdevteam-core-scope .report-doc__pages{align-items:center;display:flex;flex-direction:column;gap:var(--spacing-l)}.ihabdevteam-core-scope .report-doc__page{background:#fff;box-shadow:var(--shadow-card);color:#000;display:flex;flex-direction:column;flex-shrink:0;min-height:var(--report-page-h);padding:var(--report-margin);width:var(--report-page-w)}.ihabdevteam-core-scope .report-doc__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__title{margin:0}.ihabdevteam-core-scope .report-doc__footer{align-items:center;color:var(--color-gray);display:flex;justify-content:space-between;margin-top:auto;padding-top:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__footer-left{align-items:center;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-doc__page-no{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ihabdevteam-core-scope .report-doc__logo{height:28px;width:auto}.ihabdevteam-core-scope .report-doc__measure{display:flex;flex-direction:column;opacity:0;pointer-events:none;position:absolute;width:calc(var(--report-page-w) - var(--report-margin)*2);z-index:-10}.ihabdevteam-core-scope .report-doc__measure-blocks{display:flex;flex-direction:column}.ihabdevteam-core-scope .report-doc__ruler{height:calc(var(--report-page-h) - var(--report-margin)*2)}@media print{.ihabdevteam-core-scope .report-doc{display:block;overflow:visible;padding-block:0}.ihabdevteam-core-scope .report-doc__pages{display:block}.ihabdevteam-core-scope .report-doc__page{-moz-column-break-after:page;box-shadow:none;break-after:page;page-break-after:always}.ihabdevteam-core-scope .report-doc__page:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}';ae(Y7);const q7=(e,t)=>`${e} / ${t}`;function mg({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:n=q7,pageWidth:i,pageHeight:s,margin:c,className:d,style:u}){const{t:m}=me.useTranslation(),h=l.useRef(null),p=l.useRef(null),g=l.useRef(null),f=l.useRef(null),[b,x]=l.useState(null),[v,C]=l.useState(!1);l.useEffect(()=>{const D=h.current;if(!D)return;const H=()=>C(D.scrollWidth>D.clientWidth+1);if(H(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(H);return R.observe(D),()=>R.disconnect()},[b]);const w=e.map(D=>`${D.id}\0${D.section??""}\0${D.group??""}`).join("");l.useLayoutEffect(()=>{const D=p.current,H=f.current;if(!D||!H)return;const R=g.current?.offsetHeight??0,E=H.offsetHeight-R,$=Array.from(D.children).map(N=>N.offsetHeight),B=[];e.forEach((N,L)=>{const P=B[B.length-1],W=P?e[P[0]]:void 0;W&&N.group!=null&&W.group===N.group?P.push(L):B.push([L])});const F=[];let X=[],Q=0;const oe=()=>{X.length&&F.push(X),X=[],Q=0};B.forEach(N=>{const L=N.reduce((P,W)=>P+$[W],0);X.length&&e[X[0]].section!==e[N[0]].section&&oe(),X.length&&Q+L>E&&oe(),L>E?N.forEach(P=>{X.length&&Q+$[P]>E&&oe(),X.push(P),Q+=$[P]}):(N.forEach(P=>X.push(P)),Q+=L)}),oe(),x(F)},[w]);const _=Il,k=_,y=r??o.jsxs(o.Fragment,{children:[o.jsx("img",{src:k,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),A=(D,H,R)=>({header:o.jsxs("div",{className:"report-doc__header",children:[o.jsx("h2",{className:"report-doc__title h3b",children:R!=null&&t?.[R]||null}),a]}),footer:o.jsxs("div",{className:"report-doc__footer caption-1",children:[o.jsx("span",{className:"report-doc__footer-left",children:y}),o.jsx("span",{className:"report-doc__page-no",children:n(D,H)})]})}),T=A(1,1,e[0]?.section),S={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...u};return o.jsxs("div",{ref:h,className:_e("report-doc",d),style:S,tabIndex:v?0:void 0,role:v?"group":void 0,"aria-label":v?m("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[o.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[o.jsx("div",{ref:f,className:"report-doc__ruler"}),o.jsxs("div",{ref:g,children:[T.header,T.footer]}),o.jsx("div",{ref:p,className:"report-doc__measure-blocks",children:e.map(D=>o.jsx("div",{children:D.content},D.id))})]}),b&&o.jsx("div",{className:"report-doc__pages",children:b.map((D,H)=>{const{header:R,footer:E}=A(H+1,b.length,e[D[0]].section);return o.jsxs("section",{className:"report-doc__page",children:[R,D.map($=>o.jsx("div",{children:e[$].content},e[$].id)),E]},H)})})]})}var K7=".ihabdevteam-core-scope .report-info{border:1px solid var(--color-border);border-radius:var(--radius-card);margin-bottom:var(--spacing-l);padding:var(--spacing-s) var(--spacing-m)}.ihabdevteam-core-scope .report-info__title{color:var(--color-darkGray);margin:0 0 var(--spacing-s)}.ihabdevteam-core-scope .report-info__grid{grid-gap:var(--spacing-xs) var(--spacing-l);display:grid;gap:var(--spacing-xs) var(--spacing-l);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-columns:repeat(var(--report-info-cols,4),minmax(0,1fr))}@media (max-width:640px){.ihabdevteam-core-scope .report-info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.ihabdevteam-core-scope .report-info__field{align-items:baseline;display:flex;gap:var(--spacing-s)}.ihabdevteam-core-scope .report-info__label{color:var(--color-gray);flex-shrink:0;width:3.5rem}.ihabdevteam-core-scope .report-info__value{color:var(--color-darkGray);white-space:nowrap}";ae(K7);function bg({title:e,fields:t,columns:a=4,className:r,style:n}){return o.jsxs("div",{className:_e("report-info",r),style:{"--report-info-cols":String(a),...n},children:[e&&o.jsx("p",{className:"report-info__title h5b",children:e}),o.jsx("div",{className:"report-info__grid",children:t.map((i,s)=>o.jsxs("div",{className:"report-info__field body-2",children:[o.jsx("span",{className:"report-info__label body-3",children:i.label}),o.jsx("span",{className:"report-info__value",children:i.value})]},s))})]})}var Z7=".ihabdevteam-core-scope .update-alert{animation:update-alert-slide-in .32s cubic-bezier(.34,1.56,.64,1) both;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:hsla(0,0%,97%,.92);border:1px solid var(--color-main);border-radius:var(--radius-m);box-shadow:0 4px 24px rgba(0,0,0,.14),0 1px 4px rgba(0,0,0,.08),inset 0 0 0 .5px rgba(0,0,0,.1);padding:var(--spacing-l);width:380px}.ihabdevteam-core-scope .update-alert,.ihabdevteam-core-scope .update-alert-stack{display:flex;flex-direction:column;gap:12px;max-width:calc(100vw - 32px);position:fixed;right:16px;top:16px;z-index:var(--z-alert)}.ihabdevteam-core-scope .update-alert-stack{align-items:flex-end}.ihabdevteam-core-scope .update-alert-stack .update-alert{position:relative;z-index:auto}.ihabdevteam-core-scope .update-alert:has(.update-alert__close) .update-alert__title{padding-right:24px}.ihabdevteam-core-scope .update-alert__close{align-items:center;background:none;border:none;border-radius:6px;border-radius:var(--radius-s,6px);color:#888;cursor:pointer;display:flex;font-size:20px;height:24px;justify-content:center;line-height:1;position:absolute;right:8px;top:8px;width:24px}.ihabdevteam-core-scope .update-alert__close:hover{background:rgba(0,0,0,.06);color:#333}.ihabdevteam-core-scope .update-alert__top{align-items:center;display:flex;gap:10px}@keyframes update-alert-slide-in{0%{opacity:0;transform:translateX(calc(100% + 24px))}to{opacity:1;transform:translateX(0)}}.ihabdevteam-core-scope .update-alert__icon{align-items:center;color:var(--color-main);display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;width:40px}.ihabdevteam-core-scope .update-alert__body{flex:1;min-width:0}.ihabdevteam-core-scope .update-alert__title{color:#1a1a1a;text-align:left}.ihabdevteam-core-scope .update-alert__message{color:#555;margin-top:2px;text-align:left}.ihabdevteam-core-scope .update-alert__action{width:100%}";ae(Z7);function gg({title:e,message:t,actionLabel:a,onAction:r,icon:n,onClose:i,className:s=""}){const{t:c}=me.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return o.jsxs("div",{className:_e("update-alert",s),role:"alert",children:[i&&o.jsx("button",{type:"button",className:"update-alert__close",onClick:i,"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),o.jsxs("div",{className:"update-alert__top",children:[o.jsx("div",{className:"update-alert__icon",children:n??o.jsx(id,{size:20,strokeWidth:2})}),o.jsxs("div",{className:"update-alert__body",children:[o.jsx("div",{className:"update-alert__title h4",children:e}),o.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),r&&o.jsx(ne,{size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:r,children:d})]})}var X7=".ihabdevteam-core-scope .training-card{background:var(--color-white);border:1px solid transparent;border-radius:var(--radius-card);display:flex;flex-direction:column;gap:10px;max-width:100%;padding:18px;position:relative;transition:border-color .15s,box-shadow .15s;width:360px}.ihabdevteam-core-scope .training-card:hover{border-color:var(--color-main);box-shadow:0 4px 16px var(--color-main-a10)}.ihabdevteam-core-scope .training-card--dragging{opacity:.5}.ihabdevteam-core-scope .training-card--clickable{cursor:pointer}.ihabdevteam-core-scope .training-card__header{grid-column-gap:8px;grid-row-gap:4px;align-items:start;-moz-column-gap:8px;column-gap:8px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;row-gap:4px}.ihabdevteam-core-scope .training-card__title-row{display:contents}.ihabdevteam-core-scope .training-card__title-row>:first-child{grid-area:1/1;min-width:0}.ihabdevteam-core-scope .training-card__header>:last-child{grid-area:2/1}.ihabdevteam-core-scope .training-card__title{color:var(--color-darkGray);margin:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__top-actions{align-items:center;align-self:start;display:flex;flex-shrink:0;gap:2px;grid-column:2;grid-row:1/3;margin-right:-8px}.ihabdevteam-core-scope .training-card__publisher{background:none;border:none;color:var(--color-gray);cursor:pointer;font-size:11px;font-weight:400;max-width:120px;overflow:hidden;padding:0;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:-moz-fit-content;width:fit-content}.ihabdevteam-core-scope .training-card__publisher:hover{color:var(--color-main);text-decoration:underline}.ihabdevteam-core-scope .training-card__description{color:var(--color-gray);margin:0;min-height:1.55em;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card__body{display:flex;flex:1;flex-direction:column;gap:8px;justify-content:flex-end}.ihabdevteam-core-scope .training-card__empty{color:var(--color-lightGray)}.ihabdevteam-core-scope .training-card__types{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.ihabdevteam-core-scope .training-card__types .button{min-width:0;padding-inline:12px}.ihabdevteam-core-scope .training-card__words{align-content:flex-start;display:flex;flex-wrap:wrap;gap:4px}.ihabdevteam-core-scope .training-card__footer{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between;margin-top:auto;padding-top:8px}.ihabdevteam-core-scope .training-card__footer-left{align-items:center;display:flex;gap:6px;min-width:0}.ihabdevteam-core-scope .training-card__date{color:var(--color-gray);font-size:11px;white-space:nowrap}.ihabdevteam-core-scope .training-card__meta{align-items:center;display:flex;gap:4px}";ae(X7);function fg({title:e,description:t,topActions:a,children:r,footerLeft:n,footerRight:i,onClick:s,draggable:c,onDragStart:d,onDragEnd:u,className:m}){const h=n!=null||i!=null,p=r!=null&&r!==!1,g=l.useCallback(f=>{s&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),s())},[s]);return o.jsxs("div",{className:_e("training-card",s?"training-card--clickable":"",m),onClick:s,onKeyDown:s?g:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[o.jsxs("div",{className:"training-card__header",children:[o.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?o.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&o.jsx("div",{className:"training-card__top-actions",onClick:f=>f.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?o.jsx("p",{className:"training-card__description body-3",children:t}):t:o.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),p&&o.jsx("div",{className:"training-card__body",children:r}),h&&o.jsxs("div",{className:"training-card__footer",children:[n!=null&&o.jsx("div",{className:"training-card__footer-left",children:n}),i!=null&&o.jsx("div",{className:"training-card__meta",children:i})]})]})}var J7=".ihabdevteam-core-scope .training-card-group{background:var(--color-darkWhite);border:1px solid var(--color-darkWhite);border-radius:var(--radius-card);overflow:hidden;transition:border-color .15s,box-shadow .15s}.ihabdevteam-core-scope .training-card-group--dragover{border-color:var(--color-main);box-shadow:0 0 0 2px var(--color-main-a10)}.ihabdevteam-core-scope .training-card-group__header{align-items:center;display:flex;gap:8px;height:60px;padding:0 12px}.ihabdevteam-core-scope .training-card-group--collapsible .training-card-group__header{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ihabdevteam-core-scope .training-card-group__chevron{flex-shrink:0}.ihabdevteam-core-scope .training-card-group__title{color:var(--color-black);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ihabdevteam-core-scope .training-card-group__count{color:var(--color-main);flex-shrink:0}.ihabdevteam-core-scope .training-card-group__actions{align-items:center;display:flex;flex-shrink:0;gap:8px;margin-left:auto}.ihabdevteam-core-scope .training-card-group__empty{color:var(--color-lightGray);padding:24px 16px;text-align:center}.ihabdevteam-core-scope .training-card-group__grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:12px;padding:0 12px 12px}.ihabdevteam-core-scope .training-card-group__grid>*{min-width:0}";ae(J7);function vg({title:e,count:t,collapsed:a=!1,onToggle:r,sort:n,actions:i,empty:s=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:m,onDrop:h,children:p,className:g}){const{t:f}=me.useTranslation(),b=r!=null,x=_e("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",b&&"training-card-group--collapsible",g);return o.jsxs("div",{className:x,onDragOver:u,onDragLeave:m,onDrop:h,children:[o.jsxs("header",{className:"training-card-group__header",children:[b&&o.jsx(ne,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?o.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&o.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&o.jsxs("span",{className:"training-card-group__actions",onClick:v=>v.stopPropagation(),children:[n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?o.jsx("div",{className:"training-card-group__empty body-3",children:c}):o.jsx("div",{className:"training-card-group__grid",children:p}))]})}var Q7=".ihabdevteam-core-scope .word-table-block__meta{background:transparent}.ihabdevteam-core-scope .word-table-block__actions{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:flex;gap:var(--spacing-xs)}@media (max-width:767px){.ihabdevteam-core-scope .word-table-block__actions{align-items:stretch;flex-direction:column}.ihabdevteam-core-scope .word-table-block__actions-left,.ihabdevteam-core-scope .word-table-block__actions-right{display:grid;grid-template-columns:repeat(2,1fr)}.ihabdevteam-core-scope .word-table-block__actions .button{min-width:0;width:100%}}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-panel{max-width:none;width:min(1400px,94vw)}.ihabdevteam-core-scope .my-word-table-preview-popup .popup-body{overflow:auto;overscroll-behavior-y:contain}.ihabdevteam-core-scope .word-table-block__pages{display:flex;flex-direction:column;gap:24px;gap:var(--spacing-content,24px)}@media print{.ihabdevteam-core-scope .word-table-block>.filter-panel,.ihabdevteam-core-scope .word-table-block>.section__header,.ihabdevteam-core-scope .word-table-block__actions{display:none}.ihabdevteam-core-scope .word-table-block__pages .word-table{-moz-column-break-after:page;break-after:page;page-break-after:always;position:static}.ihabdevteam-core-scope .word-table-block__pages .word-table:last-child{-moz-column-break-after:auto;break-after:auto;page-break-after:auto}}";ae(Q7);const ek="speechear:saved_word_tables";function tk(e){if(typeof e!="object"||e===null)return!1;const t=e;return typeof t.id=="string"&&typeof t.name=="string"&&Array.isArray(t.items)}function ak(){try{const e=localStorage.getItem(ek);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(tk):[]}catch{return[]}}function xg({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:m,onReorder:h,showCellCount:p,onAddItem:g,className:f,renderSavePopup:b,renderWordSearch:x,hideControls:v,saveOnly:C,tableName:w,nameValue:_,onNameChange:k,descriptionValue:y,onDescriptionChange:A,namePlaceholder:T,descriptionPlaceholder:S,existingNames:D,editingName:H,onCancel:R}){const{t:E}=me.useTranslation(),$=d??E("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),B=r===void 0,F=!!k,[X,Q]=l.useState([]),oe=(_??"").trim(),N=oe||(T??"").trim(),L=(y??"").trim()||(S??"").trim(),P=(D??[]).map(ue=>ue.trim().toLowerCase()),W=[H?.trim().toLowerCase(),...X].filter(ue=>!!ue),V=[...P];for(const ue of W){const Se=V.indexOf(ue);Se!==-1&&V.splice(Se,1)}const te=oe!==""&&V.includes(oe.toLowerCase()),[I,q]=l.useState(Array(4).fill(null)),[O,ie]=l.useState(4),[pe,ve]=l.useState(null),[xe,be]=l.useState("landscape"),[M,U]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[re,ge]=l.useState("\uD45C\uC2DC"),[ce,z]=l.useState(!0),[J,Z]=l.useState(!0),fe=l.useRef(null),Ne=l.useRef([]),[Ie,Me]=l.useState(8),[Ee,je]=l.useState("right"),[Ae,Fe]=l.useState(!1),[Xe,we]=l.useState(!1),{toastMessage:He,toastType:Te,showWarning:Ue,clearToast:et}=vn("warning"),Ke=l.useCallback(()=>ve(null),[ve]),[Oe,dt]=l.useState(()=>Math.max(r?.length??1,1));l.useEffect(()=>{B||dt(ue=>Math.max(ue,r?.length??1))},[r?.length,B]);const xt=B?O:p?Math.max(Oe,r?.length??1):Math.max(r?.length??0,1),{width:Ze,height:st}=io[xe],Le=!B&&!p,Pe=r?.length??0,rt=Math.min(Ie,Math.max(Pe,1)),nt=Le?rt:xt,tt=Le?Pm(r??[],nt):null,lt=!!tt&&tt.length>1,yt=B?I.some(ue=>ue!==null&&ue.length>1):(r??[]).some(ue=>ue.words.length>1),aa=w?.trim()||`${Qr(Xr())} ${yt?E("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):E("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,at=l.useCallback(()=>lt?Ne.current.filter(ue=>ue!==null):fe.current?[fe.current]:[],[lt]),{print:Lt,openNewWindow:Pt,downloadHtml:Wt}=Tn({getElements:at,paperW:Ze,paperH:st,fileName:aa,onPopupBlocked:()=>{Ue(E("wordTable.popupBlocked","\uD31D\uC5C5\uC774 \uCC28\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBE0C\uB77C\uC6B0\uC800 \uC124\uC815\uC5D0\uC11C \uD31D\uC5C5\uC744 \uD5C8\uC6A9\uD574 \uC8FC\uC138\uC694."))}}),Ea=ue=>{ie(ue),q(Se=>{const Ge=Array(ue).fill(null);return Se.slice(0,ue).forEach((mt,_t)=>{Ge[_t]=mt}),Ge}),ve(null)},oa=ue=>{q(Se=>{const Ge=[...Se];return Ge[ue]=null,Ge}),pe===ue&&ve(null)},va=ue=>{if(pe===null)return;const Se=pe;q(mt=>{const _t=[...mt];return _t[Se]=ue,_t});const Ge=I.findIndex((mt,_t)=>_t>Se&&mt===null);ve(Ge!==-1?Ge:null)},Ta=B?I.some(ue=>ue?.some(Se=>!!Se.colloquialPronunciation)):(r??[]).some(ue=>ue.words.some(Se=>!!Se.colloquialLabel)),jt=l.useMemo(()=>Ma()?B?I.flatMap(ue=>(ue??[]).map(Se=>[Se.word,Se.homonum])):(r??[]).flatMap(ue=>ue.words.map(Se=>[Se.label,Se.homonum])):[],[B,I,r]),[Ya,Et]=l.useState(!1);l.useEffect(()=>{if(jt.length===0)return;let ue=!1;return Promise.all(jt.map(([Se,Ge])=>Yo(Se,Ge))).then(Se=>{ue||Et(Se.some(Boolean))}),()=>{ue=!0}},[jt]);const xa=jt.length>0&&Ya,qa=l.useMemo(()=>[...B||p?[{label:E("wordTable.filter.columns","\uCE78 \uC218"),items:B8.map(ue=>({value:`${ue}\uCE78`,displayLabel:E("wordTable.filter.column",{count:ue})})),display:"segmented"}]:[],...Le&&(r?.length??0)>0?[Gm(E,{hasPairs:yt,itemCount:Pe})]:[],...lt?[Um(E)]:[]],[E,B,p,Le,r?.length,yt,Pe,lt]),Je={...B||p?{[E("wordTable.filter.columns","\uCE78 \uC218")]:`${B?O:Oe}\uCE78`}:{},...Le&&(r?.length??0)>0?{[E(yt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${rt}\uAC1C`}:{},...lt?{[E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Ym[Ee]}:{}},zt=(ue,Se)=>{Se===E("wordTable.filter.columns","\uCE78 \uC218")?B?Ea(parseInt(ue)):dt(parseInt(ue)):Se===E(yt?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?Me(parseInt(ue)):Se===E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&je(qm(ue))},wt=B?I.filter(ue=>ue!==null).map(ue=>({id:ue[0].word,words:ue.map(Se=>({label:Se.word,subLabel:Se.pronunciation,homonum:Se.homonum}))})):r??[],_a=(ue=!1)=>{if(we(ue),F&&n){const Se=N.trim().toLowerCase();Se&&Q(Ge=>Ge.includes(Se)?Ge:[...Ge,Se]),n(N,wt,L||void 0,ue);return}if(C&&n){n("",wt,void 0,ue);return}if(n){Fe(!0);return}Wt()},[ra,na]=l.useState(!1),[ia,le]=l.useState(""),G=ia.trim(),ee=G!==""&&P.includes(G.toLowerCase()),de=()=>{le(N?`${N} (\uBCF5\uC0AC)`:""),na(!0)},Ce=()=>{!G||ee||!n||(n(G,wt,L||void 0,!0),na(!1))},ye=wt.length===0,De=ye||F&&(N===""||te),ze=()=>{if(ye){Ue(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&N===""){Ue(E("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&te&&Ue(E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},ut=o.jsx(so,{items:wt,orientation:xe,contentTypes:M,cutLine:re,showOutline:ce,showDivLine:J,count:xt});return o.jsxs(o.Fragment,{children:[o.jsxs(no,{type:"page",icon:t,title:e,disc:a,className:_e("word-table-block",f),children:[ra&&o.jsx(Ba,{size:"small",title:m??E("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>na(!1),footer:({closeWithAnimation:ue})=>o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:48,type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:ue}),o.jsx(ne,{size:48,type:"bar",variant:"main",label:E("common.save","\uC800\uC7A5"),disabled:!G||ee,onClick:Ce})]}),children:o.jsx(Wa,{label:E("wordTable.save.nameLabel","\uC774\uB984"),value:ia,onChange:le,placeholder:E("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),maxLength:40,size:48,fullWidth:!0,autoFocus:!0,onEnter:Ce,error:ee?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Ae&&n&&b?.({defaultName:typeof e=="string"?e:E("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:ut,previewW:Ze,previewH:st,items:wt,existingNames:ak().map(ue=>ue.name),saveAsNew:Xe,onSave:(ue,Se)=>{n(ue,wt,Se,Xe),Fe(!1)},onCancel:()=>Fe(!1)}),(B||g)&&pe!==null&&x?.({cellIndex:pe,onConfirm:B?va:ue=>{if(g){const Se=ue[0];Se&&g({id:Se.word,words:[{label:Se.word,subLabel:Se.pronunciation,homonum:Se.homonum}]})}ve(null)},onClose:Ke}),!v&&o.jsx(En,{hasImage:xa,hasColloquial:Ta,contentTypes:M,orientation:xe,showOutline:ce,cutLine:re,showDivLine:J,setters:{setContentTypes:U,setOrientation:be,setShowOutline:z,setCutLine:ge,setShowDivLine:Z},showCutLine:(Le?nt:xt)>1,showDivLine2:yt,middleSections:qa,extraSelected:Je,onExtraSelect:zt}),lt&&tt?o.jsx("div",{className:"word-table-block__pages",children:tt.map((ue,Se)=>o.jsx(so,{orientation:xe,contentTypes:M,cutLine:re,showOutline:ce,showDivLine:J,count:nt,items:ue,onRemoveItem:s,contentRef:Ge=>{Ne.current[Se]=Ge},pageNumber:{current:Se+1,total:tt.length},pageNumberPosition:Ee},Se))}):o.jsx(so,{orientation:xe,contentTypes:M,cutLine:re,showOutline:ce,showDivLine:J,count:xt,items:B?void 0:r??[],editCells:B?I:void 0,activeCell:pe,onActivateCell:B||g?ve:void 0,onRemoveCell:B?oa:void 0,onRemoveItem:B?void 0:s,onReorder:B?void 0:h,showFillerAdd:!!g,contentRef:fe}),F&&!v&&o.jsxs(Ar,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[o.jsx(Da,{variant:"custom",label:E("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:o.jsx(Wa,{required:!0,value:_??"",onChange:k,placeholder:T?T+E("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):E("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:E("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:te?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:ue=>{(ue.key==="Tab"&&!ue.shiftKey||ue.key===" ")&&!(_??"").trim()&&(T??"").trim()&&(ue.preventDefault(),k?.(T??""))}})}),o.jsx(Da,{variant:"custom",label:E("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:o.jsx(Wa,{value:y??"",onChange:A,placeholder:S?S+E("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):E("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:E("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:ue=>{(ue.key==="Tab"&&!ue.shiftKey||ue.key===" ")&&!(y??"").trim()&&(S??"").trim()&&(ue.preventDefault(),A?.(S??""))}})})]})]}),!v&&o.jsxs("div",{className:"word-table-block__actions",children:[o.jsxs("div",{className:"word-table-block__actions-left",children:[!C&&c&&o.jsx(ne,{size:40,type:"bar",label:$,onClick:c}),!C&&i&&o.jsx(ne,{size:40,type:"bar",label:E("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!C&&o.jsx(ne,{size:40,type:"bar",label:E("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Pt})]}),o.jsxs("div",{className:"word-table-block__actions-right",children:[R&&o.jsx(ne,{size:"56",type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:R}),!C&&o.jsx(ne,{size:"56",type:"bar",label:E("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:Lt}),m&&o.jsx(ne,{size:"56",type:"bar",label:m,onClick:()=>F?de():_a(!0),disabled:ye,onDisabledClick:()=>{Ue(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),o.jsx(ne,{size:"56",type:"bar",variant:"main",label:u??E("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>_a(!1),disabled:De,onDisabledClick:ze})]})]}),o.jsx(ro,{message:He,type:Te,onClose:et})]})}var ok=".ihabdevteam-core-scope .word-table-thumb{grid-gap:1px;background:var(--color-darkWhite);border-bottom:1px solid var(--color-darkWhite);display:grid;gap:1px;grid-auto-rows:minmax(min-content,1fr);height:140px;overflow:hidden}.ihabdevteam-core-scope .word-table-thumb__cell{align-items:center;background:var(--color-white);display:flex;flex-direction:column;gap:1px;justify-content:center;min-height:0;overflow:hidden;padding:4px}.ihabdevteam-core-scope .word-table-thumb__word{color:var(--color-black)}.ihabdevteam-core-scope .word-table-thumb .word-table-thumb__word{line-height:1.2}.ihabdevteam-core-scope .word-table-thumb__divider{background:var(--color-darkWhite);display:block;height:1px;margin:1px 0;width:30%}";ae(ok);function Oc({items:e,className:t}){const a=e.length,r=a<=3?1:2,n=Math.ceil(a/r)||1,i=r*n;return o.jsx("div",{className:_e("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${r}, 1fr)`},children:Array.from({length:i},(s,c)=>{const d=e[c];return d?o.jsx("div",{className:"word-table-thumb__cell",children:(d.words.length?d.words:[{label:d.id}]).map((u,m)=>o.jsxs(l.Fragment,{children:[m>0&&o.jsx("span",{className:"word-table-thumb__divider"}),o.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},m))},c):o.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var rk=".ihabdevteam-core-scope .word-table-button{background:var(--color-white);border:1px solid var(--color-whiteLine);border-radius:8px;border-radius:var(--radius-s,8px);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .15s,box-shadow .15s;width:240px}.ihabdevteam-core-scope .word-table-button:hover{border-color:var(--color-main);box-shadow:0 2px 10px rgba(0,0,0,.06)}.ihabdevteam-core-scope .word-table-button:focus-visible{outline:2px solid var(--color-main);outline-offset:1px}.ihabdevteam-core-scope .word-table-button--selected{border-color:var(--color-main);box-shadow:0 0 0 1px var(--color-main) inset}.ihabdevteam-core-scope .word-table-button__thumb{flex:0 0 auto;height:290px}.ihabdevteam-core-scope .word-table-button__info{align-items:flex-start;display:flex;flex-direction:row;gap:8px;min-width:0;padding:12px 14px 0;position:relative}.ihabdevteam-core-scope .word-table-button__more{position:absolute;right:10px;top:8px}.ihabdevteam-core-scope .word-table-button__title{padding-right:34px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info{flex:1 1 auto;min-height:0}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__info-text{align-self:stretch}.ihabdevteam-core-scope .word-table-button__info-text{align-items:flex-start;display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0;text-align:left}.ihabdevteam-core-scope .word-table-button__title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-black);display:-webkit-box;overflow:hidden;overflow-wrap:anywhere}.ihabdevteam-core-scope .word-table-button__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--color-gray);display:-webkit-box;overflow:hidden}.ihabdevteam-core-scope .word-table-button__meta{color:var(--color-gray)}.ihabdevteam-core-scope .word-table-button__meta-row{align-items:center;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__badges{align-items:center;display:flex;flex:0 0 auto;gap:4px}.ihabdevteam-core-scope .word-table-button--no-footer .word-table-button__meta-row{margin-top:auto}.ihabdevteam-core-scope .word-table-button__footer{display:flex;flex-direction:column;gap:8px;margin-top:auto;min-width:0;padding:12px 14px 14px}.ihabdevteam-core-scope .word-table-button__store-by{align-items:center;display:inline-flex;gap:6px;min-width:0;overflow:hidden}.ihabdevteam-core-scope .word-table-button__store-by .training-card__date{white-space:nowrap}.ihabdevteam-core-scope .word-table-button__store-stats{align-items:center;align-self:flex-end;display:inline-flex;gap:4px}.ihabdevteam-core-scope .word-table-button__more{flex:0 0 auto}.ihabdevteam-core-scope .word-table-button__badge{pointer-events:none}.ihabdevteam-core-scope .word-table-button__new-dot{background:var(--color-main);border-radius:50%;box-shadow:0 0 0 2px var(--color-white);height:10px;pointer-events:none;position:absolute;right:8px;top:8px;width:10px;z-index:3}";ae(rk);function _g({items:e,name:t,description:a,createdAt:r,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:d,publisherName:u,publishedAt:m,likeCount:h,downloadCount:p,onPublisherClick:g,selected:f,onClick:b,onMore:x,titleNode:v,className:C}){const{t:w}=me.useTranslation(),_=v!=null,k=u!=null||m!=null||h!=null||p!=null,y=A=>{!_&&(A.key==="Enter"||A.key===" ")&&(A.preventDefault(),b?.())};return o.jsxs("div",{className:_e("word-table-button",f?"word-table-button--selected":"",k?"":"word-table-button--no-footer",C),role:"button",tabIndex:0,"aria-label":t,onClick:_?void 0:b,onKeyDown:y,children:[d&&o.jsx("span",{className:"word-table-button__new-dot","aria-label":w("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),o.jsx(Oc,{items:e,className:"word-table-button__thumb"}),o.jsxs("div",{className:"word-table-button__info",children:[o.jsxs("div",{className:"word-table-button__info-text",children:[v??o.jsx("div",{className:"word-table-button__title h4",children:t}),a&&o.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),x&&!_&&o.jsx(ne,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:w("common.moreFor",{name:t}),onClick:A=>{A.stopPropagation(),x(A)}})]}),(r||n||s)&&o.jsxs("div",{className:"word-table-button__meta-row",children:[o.jsx("span",{className:"word-table-button__meta caption-1",children:r?Jr(r,w):""}),o.jsxs("span",{className:"word-table-button__badges",children:[n&&o.jsx(ht,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??"\uBC1C\uD589\uB428"}),s&&o.jsx(ht,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??"\uACF5\uC720 \uC911"})]})]}),k&&o.jsxs("div",{className:"word-table-button__footer",children:[o.jsxs("span",{className:"word-table-button__store-by",children:[u&&o.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:A=>{A.stopPropagation(),g?.()},children:u}),m&&o.jsx("span",{className:"training-card__date body-4",children:Jr(m,w)})]}),o.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h)}),p!=null&&o.jsx(ht,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(p)})]})]})]})}/**
983
983
  * @license lucide-react v1.38.0 - ISC