@ihabdevteam/core 0.115.0 → 0.116.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"},u1={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"}}},p1={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},h1={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"}},m1={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},b1={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"},g1={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},f1={ariaLabel:"\uC120\uD0DD \uD0ED"},v1={ariaLabel:"\uD0ED"},x1={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},_1={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},C1={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"}},y1={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"}},w1={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"}},k1={manage:{unit:"\uAC74"}},A1={cancelLabel:"\uCDE8\uC18C"},S1={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},B1={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"},N1={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},D1={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"},j1={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},E1={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},T1={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},L1={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},M1={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"}},$1={common:Ng,calendar:Dg,passCard:jg,searchField:Eg,rating:Tg,colorPicker:Lg,dropdown:Mg,accordion:$g,header:Rg,nav:Pg,settings:zg,usage:Ig,account:Og,help:Fg,training:Hg,trainingSettings:Wg,customers:Vg,payment:Gg,coupons:Ug,visits:Yg,company:qg,trainingType:Kg,myWordTraining:Zg,myWordTable:Xg,keyWords:Jg,wordTable:Qg,wordSearch:e1,wordPrint:t1,topic:a1,accessLinkManager:o1,login:r1,trainingPlanRun:n1,device:i1,manager:s1,wordPairs:l1,game:c1,footer:d1,landing:u1,date:p1,trainingSetPage:h1,wordTrainingPreview:m1,wordData:b1,textField:g1,segmentedControl:f1,tabs:v1,fileUpload:x1,avatar:_1,myHomework:C1,trainingStatus:y1,store:w1,homework:k1,inquiry:A1,progress:S1,trainingMiss:B1,table:N1,wordScore:D1,topBanner:j1,datePicker:E1,report:T1,tooltip:L1,phonemeProfile:M1},R1={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"}}},P1={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"},z1={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"}},I1={clearAriaLabel:"Clear search"},O1={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},F1={selected:"selected"},H1={placeholder:"Select"},W1={collapse:"Collapse",expand:"Expand"},V1={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu"},G1={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"},U1={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."}}},Y1={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"}},q1={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"}}},K1={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},Z1={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"},X1={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"},J1={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"}},Q1={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},e0={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"}},t0={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},a0={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},o0={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."}},r0={comingSoon:"Word training is coming soon."},n0={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"}},i0={title:"Key Words",empty:"No key words available."},s0={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"}},l0={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}}"}},c0={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},d0={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"}},u0={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"}},p0={passwordPlaceholder:"Enter password"},h0={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"},m0={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"}},b0={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."]},g0={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"}},f0={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"},v0={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"}}},x0={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},_0={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},C0={answer:"Answer",distractor:"Distractor"},y0={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},w0={clearAriaLabel:"Clear input"},k0={ariaLabel:"Select tab"},A0={ariaLabel:"Tabs"},S0={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},B0={ariaLabel:"User avatar"},N0={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"}},D0={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"}},j0={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)"}},E0={manage:{unit:"item(s)"}},T0={cancelLabel:"Cancel"},L0={subtitle:"Select a topic to start listening practice."},M0={steps:"Step {{current}} of {{total}}"},$0={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"},R0={resetColumns:"Reset column widths"},P0={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}}"},z0={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},I0={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},O0={previewRegion:"Report preview \u2014 scrollable sideways"},F0={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},H0={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},W0={common:R1,calendar:P1,passCard:z1,searchField:I1,rating:O1,colorPicker:F1,dropdown:H1,accordion:W1,header:V1,nav:G1,settings:U1,usage:Y1,account:q1,help:K1,training:Z1,trainingSettings:X1,customers:J1,payment:Q1,coupons:e0,visits:t0,company:a0,trainingType:o0,myWordTraining:r0,myWordTable:n0,keyWords:i0,wordTable:s0,wordSearch:l0,wordPrint:c0,topic:d0,accessLinkManager:u0,login:p0,device:h0,manager:m0,wordPairs:b0,game:g0,footer:f0,landing:v0,date:x0,trainingSetPage:_0,wordTrainingPreview:C0,wordData:y0,textField:w0,segmentedControl:k0,tabs:A0,fileUpload:S0,avatar:B0,myHomework:N0,trainingStatus:D0,store:j0,homework:E0,inquiry:T0,trainingPlanRun:L0,progress:M0,trainingMiss:$0,table:R0,wordScore:P0,topBanner:z0,datePicker:I0,report:O0,tooltip:F0,phonemeProfile:H0};const jr="0.115.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 V0(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:$1},en:{translation:W0}},lng:qc(),fallbackLng:co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Zc=l.createContext({locale:co,supportedLocales:Lo});function G0(){return l.useContext(Zc)}function U0({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 Y0=".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(Y0);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"},v0={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"}}},x0={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},_0={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},C0={answer:"Answer",distractor:"Distractor"},y0={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},w0={clearAriaLabel:"Clear input"},k0={ariaLabel:"Select tab"},A0={ariaLabel:"Tabs"},S0={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},B0={ariaLabel:"User avatar"},N0={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"}},D0={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"}},j0={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)"}},E0={manage:{unit:"item(s)"}},T0={cancelLabel:"Cancel"},L0={subtitle:"Select a topic to start listening practice."},M0={steps:"Step {{current}} of {{total}}"},$0={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"},R0={resetColumns:"Reset column widths"},P0={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}}"},z0={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},I0={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},O0={previewRegion:"Report preview \u2014 scrollable sideways"},F0={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},H0={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},W0={common:R1,calendar:P1,passCard:z1,searchField:I1,rating:O1,colorPicker:F1,dropdown:H1,accordion:W1,header:V1,nav:G1,settings:U1,usage:Y1,account:q1,help:K1,training:Z1,trainingSettings:X1,customers:J1,payment:Q1,coupons:e0,visits:t0,company:a0,trainingType:o0,myWordTraining:r0,myWordTable:n0,keyWords:i0,wordTable:s0,wordSearch:l0,wordPrint:c0,topic:d0,accessLinkManager:u0,login:p0,device:h0,manager:m0,wordPairs:b0,game:g0,footer:f0,landing:v0,date:x0,trainingSetPage:_0,wordTrainingPreview:C0,wordData:y0,textField:w0,segmentedControl:k0,tabs:A0,fileUpload:S0,avatar:B0,myHomework:N0,trainingStatus:D0,store:j0,homework:E0,inquiry:T0,trainingPlanRun:L0,progress:M0,trainingMiss:$0,table:R0,wordScore:P0,topBanner:z0,datePicker:I0,report:O0,tooltip:F0,phonemeProfile:H0};const jr="0.116.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 V0(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:$1},en:{translation:W0}},lng:qc(),fallbackLng:co,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Zc=l.createContext({locale:co,supportedLocales:Lo});function G0(){return l.useContext(Zc)}function U0({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 Y0=".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(Y0);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 @@ ${C.badge}`:C.badge:void 0;if(k&&d(C.code))return null;if(!C.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(M8);function $8(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 _b(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($8,{category:p,isSelected:s===p.key,onClick:()=>h(p.key)},p.key))})}var R8=".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(R8);function Cb({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 P8=".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(P8);function yb({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 z8='.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(z8);function wb({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 I8=".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(I8);function kb({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,...Sm(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const hc=9,O8=e=>Math.round(Math.min(hc,Math.max(0,e))/hc*100),F8=e=>e/100*hc,Ab={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},Sb=l.createContext(null);function mc(){return l.useContext(Sb)}const bc=e=>`${ii()}/${e}`,Bb=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 Bb("noise2")},get restaurant(){return Bb("noise3")},get buzz(){return bc("noise4.mp3")}};function H8(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 W8({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((v,x=250)=>{const y=n.current;if(!y||!y.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Vo(y))}catch{}const C=y.paused?0:y.volume;y.paused&&(y.volume=0),y.play().catch(()=>{});const _=performance.now(),k=()=>{const w=Math.min(1,(performance.now()-_)/x);try{y.volume=Math.max(0,Math.min(1,C+(v-C)*w))}catch{}w<1?u.current=requestAnimationFrame(k):u.current=null};u.current=requestAnimationFrame(k)},[p]),f=l.useCallback((v=250,x)=>{const y=n.current;if(!y||y.paused){x?.();return}const C=++m.current;p();const _=performance.now(),k=y.volume,w=()=>{const A=Math.min(1,(performance.now()-_)/v);try{y.volume=Math.max(0,k*(1-A))}catch{}if(A<1)u.current=requestAnimationFrame(w);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{y.pause()}catch{}x?.()}};u.current=requestAnimationFrame(w),h.current=setTimeout(()=>{if(h.current=null,m.current===C){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{y.paused||(y.volume=0,y.pause(),x?.())}catch{}}},v+150)},[p]);l.useEffect(()=>{const v=document.createElement("audio");return v.loop=!0,v.crossOrigin="anonymous",n.current=v,()=>{p();try{v.pause(),v.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let v=0;const x=setInterval(()=>{const y=n.current;if(!y||y.paused){v=0;return}const C=t.current;if(C&&!C.paused&&!C.ended||a.current==="playing"){v=0;return}v+=1,v>=2&&(v=0,f())},400);return()=>clearInterval(x)},[f,b,t,a]),l.useEffect(()=>{const v=()=>{if(!document.hidden)return;const x=n.current;if(x&&!x.paused){p();try{x.pause()}catch{}}};return document.addEventListener("visibilitychange",v),()=>document.removeEventListener("visibilitychange",v)},[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 v=e?.settings,x=n.current;if(!x)return;if(!v||!v.enabled||v.level===0){f();return}const y=Math.min(1,v.level/9);if(c.current!==v.type){const C=H8(v.type);C&&(c.current=v.type,s(C),f(150,()=>{x.src=C,x.load();const _=t.current;_&&!_.paused&&x.addEventListener("canplay",function k(){x.removeEventListener("canplay",k);const w=t.current;w&&!w.paused&&!w.ended&&g(y)})}))}else{const C=t.current,_=!!C&&!C.paused&&!C.ended;if(_&&x.paused&&x.src)g(y);else if(!x.paused)if(!_)f();else{p();const k=x.volume,w=performance.now(),A=()=>{const T=Math.min(1,(performance.now()-w)/150);try{x.volume=k+(y-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 v=n.current;if(v)try{v.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 V8({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 v=(C,_=1)=>{try{const k=(C||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(C||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},x=l.useCallback(C=>{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=C??e,w=(Array.isArray(k)?k[0]??"":k)||"",A=new SpeechSynthesisUtterance(w);try{A.rate=Math.max(.3,Math.min(3,t))}catch{}try{A.volume=Math.max(0,Math.min(1,a))}catch{}f.current=v(w,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(),F=performance.now()-D,R=f.current||1200,E=Math.min(1,F/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]),y=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:x,stopTTS:y}}var G8='.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(G8);async function U8(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 v=g;v<f;v++){const x=Math.abs(s[v]);x>b&&(b=x)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Nb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await U8(r,t,a)}catch(r){try{const n=Kr(r)}catch{}return null}}const Db=4;function Y8(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),[v,x]=l.useState(!1),[y,C]=l.useState(null),[_,k]=l.useState(2),[w,A]=l.useState(0),[T,S]=l.useState(null),[D,F]=l.useState(!1),R=3,E=3,$=1,B=300,G=l.useRef(0),Q=l.useCallback(async(ie,pe)=>{const ve=++G.current,xe=()=>G.current===ve;try{if(x(!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 X=be*R,Z=Math.max(0,be-1),fe=Z>0?(ce-X)/Z:E;k(Math.max(0,fe))}catch{be=120}const M=await Nb(ie,be);if(!xe())return;if(!M){b(null),x(!1);return}b(M),C(be),x(!0)}catch{if(!xe())return;b(null),x(!1)}},[x,b,A,k,C]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;Q(typeof ie=="string"?ie:void 0).catch(()=>{}),F(!1)},[t,a,Q]),l.useEffect(()=>{let ie=!1;if(!i||!y){S(null);return}const pe=d>0?d*(c||1):void 0;return Nb(i,y,pe).then(ve=>{ie||S(ve)}).catch(()=>{ie||S(null)}),()=>{ie=!0}},[i,y,d,c]);const ee=Math.max(0,Math.min(1,u)),oe=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),N=y||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*ee),be=xe!=null&&w>0&&xe*w<=Db,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,ee,w]),P={"--progress":String(Math.max(0,Math.min(1,r)))},H={"--bar-gap":`${_}px`},W=Math.max(0,Math.min(9,s))/9,te=v&&(i?!!T:!0);l.useEffect(()=>{te&&F(!0)},[te]);const I=D?v:te;l.useEffect(()=>{m?.(I)},[I,m]);const q=y||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*W),be=w>0&&xe*w<=Db,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,W,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:H,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 q8={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 K8=2e3;function jb(e,t=K8){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 Z8({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 X8(){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 J8({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 Q8({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 e7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function t7({ended:e,completedByEnd:t}){return!!e||!!t}function a7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function o7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function r7(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 n7({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=Q8({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),v=X8(),x=l.useRef(null),y=l.useRef(!1),C=l.useRef(0),_=l.useRef(null),{ref:k,rect:w,show:A,hide:T}=J8();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[S,D]=l.useState(!1),[F,R]=l.useState("idle"),[E,$]=l.useState("stopped"),B=l.useRef("stopped");l.useEffect(()=>{B.current=E},[E]);const[G,Q]=l.useState(0),[ee,oe]=l.useState("active"),[N,L]=l.useState(null),[P,H]=l.useState(null),[W,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:X,stop:Z,settleTo:fe}=n7({audioRef:g,fillRef:f,waveProgressRef:z,sourcesRef:ge,currentIndexRef:ce}),{onReadyChange:Ne,waitForReady:Ie,markNotReady:Me}=Z8({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(V=>{Xe.current=V,He(V)},[]),Ue=l.useRef(null),{activeNoiseUrl:et,noiseSettingsRef:Ke,fadeInNoise:Oe,fadeOutNoise:dt}=W8({noisePlayer:h,audioRef:g,playbackStateRef:B}),{startTTS:xt,stopTTS:Ze}=V8({ttsText:i,playbackRate:pe,mainVolume:ve,fillRef:f,waveProgressRef:z,setProgress:Q,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(V,J=3,de=50)=>{for(let Ce=0;Ce<J;Ce++)try{return await V.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 V=g.current;if(!V)return;const J=()=>{$("playing"),oe("playMode"),q(!0),X();try{Wo(),p.current?.("main",Vo(V))}catch{}const ye=Ke.current;ye?.enabled&&(ye?.level??0)>0&&Oe(ye.level/9)},de=()=>{t7({ended:!!V?.ended,completedByEnd:Xe.current})||($("paused"),Z(),dt())},Ce=()=>{try{const ye=ge.current,De=e7(ye,ce.current);if(De!==null){ce.current=De,te(De),q(!0);const ze=ye?.[De]&&ye[De].src;if(ze&&V){V.src=ze,V.load(),nt(V).catch(()=>{});return}}}catch{}$("stopped"),Q(1);try{if(V)try{V.currentTime=0}catch{}}catch{}Z(),q(!1),dt();try{!je.current&&Ue.current&&Ue.current()}catch{}};return V.addEventListener("play",J),V.addEventListener("pause",de),V.addEventListener("ended",Ce),()=>{try{V.removeEventListener("play",J),V.removeEventListener("pause",de),V.removeEventListener("ended",Ce),Z()}catch{}}},[Oe,dt,nt,Ke,X,Z]);l.useEffect(()=>tt(),[tt]),l.useEffect(()=>{je.current=n},[n]),l.useEffect(()=>{Ae.current=r},[r]),l.useEffect(()=>{if(n||ee!=="active")return;const V=_.current;if(!V)return;let J=null;const de=requestAnimationFrame(()=>{try{const Ce=V.getTotalLength();if(!Ce)return;const ye=Ce*.2;V.style.strokeDasharray=`${Ce-ye} ${ye}`;const De="triFlow_"+Math.random().toString(36).slice(2);J=document.createElement("style"),J.textContent=`@keyframes ${De}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Ce}}}`,document.head.appendChild(J),V.style.animation=`${De} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(de),J?.remove()}},[ee,n]),l.useEffect(()=>{ge.current=N},[N]),l.useEffect(()=>{ce.current=W},[W]),l.useEffect(()=>{const V=b.current,J=x.current;if(!V||!J)return;let de=null;const Ce=32,ye=60,De=()=>{try{const ut=Array.from(V.querySelectorAll(":scope > .button"));let ue=0;ut.forEach(Yt=>{if(Yt===J)return;const Eo=Yt.getBoundingClientRect();ue+=Eo.width});const Se=V.getBoundingClientRect().width,Ge=Math.max(0,Math.floor(Se-ue-8)),mt=rt;if(!mt||Ge<=0){Array.from(J.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(J.querySelectorAll(".button")).forEach(Yt=>{try{Yt.style.width=`${_t}px`}catch{}})}catch{}},ze=requestAnimationFrame(De);try{de=new ResizeObserver(()=>{requestAnimationFrame(De)}),de.observe(V),de.observe(J),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=(V,J)=>{L(V),ie(J),Me(),H(a7(V)),ge.current=V},yt=async(V,J)=>{Te(!1),y.current=!1,V.src=J,V.load(),await jb(V),await Ie(),D(!1),await nt(V),oe("playMode"),te(0),q(!0)},aa=async(V,J=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await gc(V,{timeoutMs:1e4,rejectOnError:!0});lt([{src:V,objectUrl:null,duration:Ce}],Ce),R("ready"),J&&de&&await yt(de,V)}finally{y.current=!1,D(!1)}},at=async(V,J=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await Promise.all(V.map(De=>gc(De,{timeoutMs:1e4}))),ye=V.map((De,ze)=>({src:De,objectUrl:null,duration:Ce[ze]||0}));lt(ye,o7(ye)),R("ready"),J&&de&&ye.length>0&&await yt(de,ye[0].src)}finally{y.current=!1,D(!1)}},Lt=async(V=!1,J=!0)=>{const de=g.current,Ce=t?Array.isArray(t)?t:[t]:[];if(!(!Ce||Ce.length===0||!Ce.some(Boolean))&&!y.current){y.current=!0,J&&D(!0),R("resolving");try{const ye=r7(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=v.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&&V&&de){const ut=De[0];Te(!1);try{v.keepOnly(De.map(ue=>ue.objectUrl))}catch{}if(R("ready"),y.current=!1,ut.src&&de)try{de.src=ut.src,de.load(),await jb(de),await Ie(),J&&D(!1),de&&await nt(de)}catch{J&&D(!1)}else J&&D(!1);oe("playMode"),te(0),q(!0)}}finally{y.current=!1,J&&D(!1),R(ye=>ye==="ready"?"ready":"idle")}}},Pt=async()=>{const V=g.current;if(!(!V&&!Le)){if(Le){const J=window.speechSynthesis;if(ee==="active"){const de=Fo(),Ce=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(de&&Ce.length>0){oe("load"),D(!0),R("resolving"),y.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{y.current=!1,D(!1),oe("active"),xt(Ce[0]||void 0)}return}xt(Ce[0]||void 0);return}if(ee==="playMode"){if(V){if(V.paused){if(Xe.current){await Wt();return}await nt(V),$("playing")}else V.pause(),$("paused");return}try{if(J&&J.paused)try{J.resume(),$("playing")}catch{}else try{J.pause(),$("paused")}catch{}}catch{}}return}if(ee==="active"){if(n&&Array.isArray(ge.current)&&ge.current.length>0){const J=ge.current[0];try{if(J.src&&V)try{V.src=J.src,V.load(),V&&await nt(V)}catch{}oe("playMode"),te(0),q(!0);return}catch{}}oe("load"),await Lt(!0);return}if(ee!=="load"&&(ee==="playMode"||ee==="active"))try{if(V&&V.paused){if(Xe.current){await Wt();return}V&&await nt(V),$("playing")}else V&&(V.pause(),$("paused"))}catch(J){(J instanceof Error||typeof J=="object"&&J&&"name"in J)&&J.name}}},Wt=async()=>{const V=g.current;if(V)try{const J=ge.current;if(Array.isArray(J)&&J.length>1){await Et(0);return}Te(!1);try{V.currentTime=0}catch{}V&&await nt(V),$("playing"),oe("playMode")}catch{}},Ea=()=>{if(Le){Ze();return}const V=g.current;try{if(V){try{V.pause()}catch{}try{V.currentTime=0}catch{}}}catch{}dt(),$("stopped"),oe("active"),Q(0),q(!1)},oa=async(V,{sameSegment:J=!1}={})=>{const de=++C.current,Ce=g.current,ye=ge.current?.[V]?.src;try{if(Te(!1),te(V),q(!0),ce.current=V,!ye||!Ce||(J||Me(),Ce.src=ye,Ce.load(),J||await Ie(),de!==C.current)||(await nt(Ce),de!==C.current))return;$("playing"),oe("playMode")}catch{}},va=async()=>{const V=ge.current,J=ce.current||0;if(!V||J<=0){await Wt();return}await oa(J-1)},Ta=async()=>{const V=ge.current,J=ce.current||0;if(!V||J>=V.length-1){Ea();return}await oa(J+1)},jt=()=>{if(Xe.current)return;const V=200,J=340;Te(!0);try{Q(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},J)},V)}catch{}};l.useEffect(()=>{Ue.current=jt});const Ua=l.useCallback(()=>U(""),[]),Et=async V=>{(ge.current||[])[V]&&await oa(V,{sameSegment:V===ce.current})},xa=E==="playing",Ya=l.useMemo(()=>{if(!P||P.length<=1)return P;const V=P[W];return V?[V]:P},[P,W]),Je=n===!0;l.useEffect(()=>{try{const V=g.current;V&&typeof V.playbackRate=="number"&&(V.playbackRate=pe||1)}catch{}},[pe]),l.useEffect(()=>{try{const V=g.current;V&&(V.volume=Math.max(0,Math.min(1,ve)))}catch{}},[ve]);const zt=xe==="hold",wt=xe==="out",_a=ee==="playMode"&&!S&&!we||zt||wt,ra=E!=="stopped"||zt||wt,na=E==="paused",ia=Math.max(0,Math.min(100,(G||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":""} ${ee!=="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:q8[F]})]}):null,ee==="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,w&&o.jsx(ha,{anchorRect:w,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${ee==="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:ee!=="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:ee!=="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:ee!=="playMode"}),rt>1?o.jsx("div",{ref:x,className:"audio-player__source-buttons",children:Array.from({length:rt}).map((V,J)=>o.jsx(ne,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(J+1),onClick:()=>{try{Et(J)}catch{}},ariaLabel:u("training.sourcePlay",{n:J+1}),variant:"transparent-white",selected:I&&W===J,disabled:ee!=="playMode"||!(Array.isArray(N)&&N[J]),showTooltipInfo:!0},J))}):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:ee!=="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:ee!=="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:ee!=="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(Y8,{segments:Ya,progress:G,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:Ua})]})}var i7=".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(i7);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"}),v=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),x=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),y=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],C={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:C,children:y.map((k,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[y.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},w))})]}),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:v,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:x,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 s7=".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(s7);var l7='.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(l7);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 c7=".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(c7);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),[v,x]=l.useState(!1),[y,C]=l.useState(null),[_,k]=l.useState(null),w=l.useRef(i);l.useEffect(()=>{w.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(()=>{x(!1),C(null),k(null)},[]);l.useEffect(()=>{if(!v)return;let D;try{typeof w.current=="function"&&(D=w.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){x(F=>!F);return}if(v)x(!1),C(null),k(null);else{const F=b.current.getBoundingClientRect();C(F),x(!0)}}},[i,s,v]);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:v,onClick:S,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),v&&o.jsx(Do,{text:_??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:y,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 Ga({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 w=setTimeout(()=>h(k),0);return()=>clearTimeout(w)}},[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,v]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),x=l.useCallback(k=>{if(!k)return null;try{const w=k;if(typeof k=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const S=w.currentTarget??w.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}},[]),y=l.useCallback((k,{text:w="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:T=!1,alignX:S="center",alignY:D="top"}={})=>{const F=x(k);v({text:w,label:A,anchorRect:F,backdrop:T,alignX:S,alignY:D}),f(!0)},[x]),C=l.useCallback(()=>{f(!1),v(k=>({...k,anchorRect:null}))},[]),_=l.Children.map(i,k=>{if(l.isValidElement(k)){const w=k;if(typeof w.type=="string")return w;const A=w.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(w,{onDone:T,disabled:D,showTooltip:y,hideTooltip:C})}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:C,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(Do,{text:b.text,onClose:C})}):null]})}var d7='.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(d7);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,v]=l.useState(""),x=l.useCallback(()=>i("active"),[]),y=l.useCallback(()=>v(""),[]),C=S=>{try{v(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 w=t==="disabled"?n:t,A=w==="disabled"?"training-text-box--disabled":w==="active"?"training-text-box--active":w==="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} ${w!=="disabled"&&s==="dark"?"is-dark":""}`,children:[w==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(ne,{size:48,type:"bar",onClick:x,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":w==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:T,children:k})}),w!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":w==="disabled",children:[o.jsx(ne,{size:32,type:"dot",onClick:m,onDisabledClick:()=>C(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:()=>C(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:y})]})}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(),v=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),x=typeof e=="number"?e:-1,y=typeof t!="number"?"disabled":x<t?"done":x===t?"active":"disabled",C=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,_=d?d.join("||"):"",k=u?u.join("||"):"",[w,A]=l.useState(()=>Array.isArray(C)?f?Ve(C):C.slice():void 0);l.useEffect(()=>{Array.isArray(C)&&C.length?A(f?Ve(C):C.slice()):A(void 0)},[c,_,k,f]);const[T,S]=l.useState(null),[D,F]=l.useState(()=>new Set);l.useEffect(()=>{S(null),F(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),F(new Set)),R.current=t},[t,e]);const E=l.useCallback(B=>{if(y!=="active")return;const G=w?.[B];if(G==null)return;const Q=G,ee=y==="active"||y==="done";if(m){const oe=new Set(D),N=oe.has(Q);N?oe.delete(Q):oe.add(Q),F(oe),typeof s=="function"&&s({selectedValues:[...oe],__ts:Date.now()}),ee&&(typeof h=="number"&&h>0?oe.size>=h:!N)&&typeof i=="function"&&y==="active"&&i({selectedValues:[...oe],__ts:Date.now()})}else S(Q),typeof s=="function"&&s({selectedIndex:B,selectedValue:Q,__ts:Date.now()}),ee&&typeof i=="function"&&y==="active"&&i({selectedIndex:B,selectedValue:Q,__ts:Date.now()})},[w,y,m,s,i,h,D]),$=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:v,useTitleFaded:n,children:o.jsx("div",{className:$,children:Array.isArray(w)&&w.length>0?w.map((B,G)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>E(G),ariaLabel:String(B),label:B,useLabel:!0,icon:g?g[String(B)]:void 0,variant:"default",disabled:y==="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 C=setTimeout(()=>b(null),0);return()=>clearTimeout(C)}},[p,c,f]);const v=l.useCallback(C=>{const _=typeof C=="object"&&C!==null?Object.assign({},C,{__ts:Date.now()}):{value:C,__ts:Date.now()};typeof i=="function"&&i(_),h==="active"&&typeof n=="function"&&n(_)},[i,h,n]),x=l.useCallback(()=>{h==="active"&&(b(!1),v(!1))},[v,h]),y=l.useCallback(()=>{h==="active"&&(b(!0),v(!0))},[v,h]);return o.jsxs(Ga,{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((C,_)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(_),v&&v(_))},disabled:h==="disabled",ariaLabel:String(C),label:C,variant:h,selected:f===_},_)):o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:56,type:"bar",onClick:x,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:y,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(),v=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),x=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:v,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(kr,{soundSrc:s,ttsText:s?null:u??v,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:x,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var u7=".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(u7);var p7=".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(p7);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=(H=>{const W=(H||[]).map((O,ie)=>({id:ie,text:u(O)}));if(W.length<=1)return W;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(W),q=0;for(;te(I,W)&&q<20;)I=Ve(W),q+=1;return I})(L);g(P);try{if(typeof i=="function"){const H=P.filter((W,te)=>W.text===u(L[te])).length;i({shuffled:P,score:H,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const H=P.filter((W,te)=>W.text===u(L[te])).length;n({shuffled:P,score:H,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,P)=>{const H=[...p],W=L+P;if(W<0||W>=H.length)return;const te=H[W];H[W]=H[L],H[L]=te,$(H);try{if(typeof n=="function"&&f==="active"){const I=H.filter((q,O)=>q.text===u(m[O])).length;n({shuffled:H,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[v,x]=l.useState(null),y=l.useRef(null),C=l.useRef(null),_=l.useRef(null),k=l.useRef(null),w=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,H=S.current||{dx:0,dy:0};y.current&&(y.current.style.transform=`translate3d(${P.x-H.dx}px, ${P.y-H.dy}px, 0)`)};T.current=requestAnimationFrame(L)},F=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return F.current.forEach((P,H)=>{P&&P.getBoundingClientRect&&L.set(H,P.getBoundingClientRect())}),L},$=L=>{const P=E();g(L);try{if(typeof i=="function"){const H=L.filter((W,te)=>W.text===u(m[te])).length;i({shuffled:L,score:H,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=E();L.forEach(W=>{const te=P.get(W.id),I=H.get(W.id),q=F.current.get(W.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 H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),P.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}x(L);try{const H=p[L],W=document.createElement("div");W.className="order-list__dragging-object order-list__dragging-object--visible",W.textContent=H&&H.text?H.text:"",document.body.appendChild(W),y.current=W;const te=F.current.get(H.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=W.getBoundingClientRect(),ie=O.width/2,pe=O.height/2;S.current={dx:ie,dy:pe},W.style.transition="none",A.current={x:I,y:q},W.style.transform=`translate3d(${I-ie}px, ${q-pe}px, 0)`,requestAnimationFrame(()=>{try{W.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()};C.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{}},G=(L,P)=>{P.preventDefault();try{P.dataTransfer&&(P.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const H=P.currentTarget&&P.currentTarget.closest?P.currentTarget.closest(".order-list__item"):null;if(H&&k.current!==H){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}k.current=H}}catch{}},Q=(L,P)=>{P.preventDefault();const H=P.dataTransfer?.getData("text/plain")||"",W=H?parseInt(H,10):v,te=L;if(typeof W!="number"||isNaN(W)||W===te){x(null),N(),ee();return}const I=Wi(p,W,te);$(I),x(null),ee();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()},ee=()=>{if(y.current){try{document.body.removeChild(y.current)}catch{}y.current=null}C.current&&(document.removeEventListener("dragover",C.current),C.current=null),_.current&&(document.removeEventListener("mousemove",_.current),_.current=null),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null)},oe=()=>{x(null),N(),ee()};l.useEffect(()=>()=>ee(),[]);const N=()=>{try{if(w.current!==null&&(clearTimeout(w.current),w.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,H)=>{const W=R.current.get(P.id);if(!W)return;let te=50;L>1&&(te=Math.round(H/(L-1)*100));try{W.style.setProperty("--marker-pos",te+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{ee(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,P)=>{const H=Math.max(1,(p||[]).length),W=H>1?Math.round(P/(H-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":W+"%"},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=F.current;te?I.set(L.id,te):I.delete(L.id)},className:`order-list__draggable ${v===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=>G(P,te):void 0,onDragOver:f==="active"?te=>G(P,te):void 0,onDragLeave:f==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.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=>Q(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 h7="";ae(h7);const m7=8e3;function b7(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 v=typeof e=="number"?e:-1,x=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",[y,C]=l.useState(null),_=l.useRef([]),[k,w]=l.useState(!1),A=l.useMemo(()=>g.map(F=>F?.id??F?.word??"").join("|"),[g]);l.useEffect(()=>{C(null),_.current=[]},[A]);const T=l.useCallback((F,R)=>{if(c)return;const E={item:F,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(x==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,x,n]),S=l.useCallback(async()=>{if(!(k||x==="disabled")){w(!0);try{for(const F of _.current)F&&await b7(F.play(),m7)}finally{w(!1)}}},[k,x]),D=l.useCallback((F,R)=>{if(x!=="active")return;C(R);const E={selectedValue:F.word||F.title||"",selectedIndex:R,item:F,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(x==="active"&&typeof n=="function")try{n(E)}catch{}},[i,x,n]);return o.jsx(Ga,{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((F,R)=>o.jsx(Nn,{ref:E=>{_.current[R]=E},item:F,disabled:x==="disabled",onPlayDone:()=>T(F,R),selectable:c,selected:c&&y===R,onSelect:c?()=>D(F,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},F&&F.id||R))})})}const g7=160;var f7=".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(f7);const Eb=()=>{};function Da(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:v,onClick:x,children:y,align:C="horizontal",icon:_}=e,k=w=>{x&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),x())};return o.jsxs("div",{className:_e("panel-row",C==="vertical"?"panel-row--vertical":"",x?"panel-row--clickable":""),onClick:x,onKeyDown:x?k:void 0,role:x?"button":void 0,tabIndex:x?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}),v&&o.jsx("div",{className:"panel-row__sub caption-1",children:v})]}),o.jsx("div",{className:"panel-row__right",children:y})]})}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,v=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((x,y)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:x.options,value:x.value,onChange:x.onChange,placeholder:x.placeholder,block:u,error:!!c,ariaLabel:x.ariaLabel??([r,x.placeholder].filter(Boolean).join(" ")||void 0)})},y))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Eb,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:[v,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):v}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((v,x)=>o.jsx(ne,{size:v.btnSize??40,variant:v.btnVariant??"default",disabled:v.disabled,onClick:v.onClick,children:v.label},x))}):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??Eb,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 Tb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Lb({devices:e,onRelease:t}){const{t:a}=me.useTranslation();return o.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(r=>{const n=e[r],i=r==="\uC88C"?a("device.direction.left","\uC88C"):a("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:i}),n&&t&&o.jsx(ne,{size:32,type:"dot",icon:"x",ariaLabel:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),showTooltipInfo:a("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(r)})]}),n?o.jsxs("div",{className:"panel-row__device-info",children:[o.jsxs("span",{className:"panel-row__device-kind",children:[n.device&&o.jsx(ht,{size:"small",variant:wm(n.device),fill:"soft",label:n.device}),Tb(n)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:Tb(n)})]}),o.jsx("span",{className:"panel-row__device-name body-2b",children:n.productName||n.brand}),o.jsx("span",{className:"panel-row__device-date caption-1",children:a("customers.device.wornSince",{date:`${n.wornYear}.${n.wornMonth}.${n.wornDay}`})})]}):o.jsx("span",{className:"panel-row__device-empty body-3",children:a("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},r)})})}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:v}){const x=_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),y={};return i!==void 0&&(y.minHeight=i),s!==void 0&&(y.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(y["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:x,style:Object.keys(y).length?y: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&&(v==null||Array.isArray(v)&&v.length===0)?o.jsx(Da,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:v}):v]})}function Mb({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function v7(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 $b(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"}]}v7(Ca.t.bind(Ca)),$b(Ca.t.bind(Ca));var x7='.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(x7);const yc="none",_7=.5,C7=1.5,y7=.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=O8(i),u=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(v=>{try{n?.setMainVolume(Math.max(0,Math.min(1,v/100)))}catch{}},[n]),g=l.useCallback(v=>{try{n?.setPlaybackRate(v)}catch{}},[n]),f=l.useCallback(v=>{const x=F8(v);try{n?.setSettings({level:x})}catch{}},[n]),b=l.useCallback(v=>{try{v===yc?n?.setSettings({enabled:!1}):n?.setSettings({type:v,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:_7,max:C7,step:y7,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")},...$b(a).map(v=>({key:v.value,label:v.label}))],value:c?s:yc,onChange:b})})]})})}var w7=".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(w7);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),v=l.useRef(null),x=mc(),y=s<c-1,C=s===c-1,_=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const k=l.useCallback(()=>{m(!1),p(null)},[]),w=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=v?.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:w,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:v,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:x?.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:x?.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:[C&&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:!_}),y&&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 k7=".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(k7);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,v=Number.isInteger(u)?u:d||0,x=h||p,y=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,C=typeof e=="string"?e.trim():e,_=typeof t=="string"?t.trim():t,k=!!(C||_),w=k?C||_:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=y||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:[x?o.jsx(ne,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:x,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Nm,{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:w}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Ql,{max:Math.max(0,v??0),index:Math.max(0,b??0)})]})}function Rb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Pb(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 zb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Ib({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 Ob(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Fb(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 Hb(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 Wb(e,t,a,r){return Nc(e,t*a+r)}function Vb({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 Gb(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 Ub=l.createContext(null);function A7(){const e=l.useContext(Ub);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function S7({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 v=[...b];if(v[f]!==null){const y=v[f];return v.map(C=>C!==null&&C>=y?null:C)}v[f]=p;const x={selectedOrder:v,words:n,__ts:Date.now()};try{typeof s=="function"&&s(x)}catch{}if(v.every(y=>y!==null))try{typeof i=="function"&&i(x)}catch{}return v})},[d,p,s,i,n]);return o.jsx(Ga,{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=A7();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 B7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(S7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var N7=`.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 z8='.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(z8);function wb({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 I8=".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(I8);function kb({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,...Sm(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const hc=9,O8=e=>Math.round(Math.min(hc,Math.max(0,e))/hc*100),F8=e=>e/100*hc,Ab={enabled:!0,type:"defaultNoise",level:4.5,speed:1,mainVolume:1,mainSpeed:1},Sb=l.createContext(null);function mc(){return l.useContext(Sb)}const bc=e=>`${ii()}/${e}`,Bb=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 Bb("noise2")},get restaurant(){return Bb("noise3")},get buzz(){return bc("noise4.mp3")}};function H8(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 W8({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((v,x=250)=>{const y=n.current;if(!y||!y.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Vo(y))}catch{}const C=y.paused?0:y.volume;y.paused&&(y.volume=0),y.play().catch(()=>{});const _=performance.now(),k=()=>{const w=Math.min(1,(performance.now()-_)/x);try{y.volume=Math.max(0,Math.min(1,C+(v-C)*w))}catch{}w<1?u.current=requestAnimationFrame(k):u.current=null};u.current=requestAnimationFrame(k)},[p]),f=l.useCallback((v=250,x)=>{const y=n.current;if(!y||y.paused){x?.();return}const C=++m.current;p();const _=performance.now(),k=y.volume,w=()=>{const A=Math.min(1,(performance.now()-_)/v);try{y.volume=Math.max(0,k*(1-A))}catch{}if(A<1)u.current=requestAnimationFrame(w);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{y.pause()}catch{}x?.()}};u.current=requestAnimationFrame(w),h.current=setTimeout(()=>{if(h.current=null,m.current===C){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{y.paused||(y.volume=0,y.pause(),x?.())}catch{}}},v+150)},[p]);l.useEffect(()=>{const v=document.createElement("audio");return v.loop=!0,v.crossOrigin="anonymous",n.current=v,()=>{p();try{v.pause(),v.src=""}catch{}n.current=null}},[p]);const b=!!e?.settings.enabled&&(e?.settings.level??0)>0;return l.useEffect(()=>{if(!b)return;let v=0;const x=setInterval(()=>{const y=n.current;if(!y||y.paused){v=0;return}const C=t.current;if(C&&!C.paused&&!C.ended||a.current==="playing"){v=0;return}v+=1,v>=2&&(v=0,f())},400);return()=>clearInterval(x)},[f,b,t,a]),l.useEffect(()=>{const v=()=>{if(!document.hidden)return;const x=n.current;if(x&&!x.paused){p();try{x.pause()}catch{}}};return document.addEventListener("visibilitychange",v),()=>document.removeEventListener("visibilitychange",v)},[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 v=e?.settings,x=n.current;if(!x)return;if(!v||!v.enabled||v.level===0){f();return}const y=Math.min(1,v.level/9);if(c.current!==v.type){const C=H8(v.type);C&&(c.current=v.type,s(C),f(150,()=>{x.src=C,x.load();const _=t.current;_&&!_.paused&&x.addEventListener("canplay",function k(){x.removeEventListener("canplay",k);const w=t.current;w&&!w.paused&&!w.ended&&g(y)})}))}else{const C=t.current,_=!!C&&!C.paused&&!C.ended;if(_&&x.paused&&x.src)g(y);else if(!x.paused)if(!_)f();else{p();const k=x.volume,w=performance.now(),A=()=>{const T=Math.min(1,(performance.now()-w)/150);try{x.volume=k+(y-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 v=n.current;if(v)try{v.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 V8({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 v=(C,_=1)=>{try{const k=(C||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(C||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},x=l.useCallback(C=>{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=C??e,w=(Array.isArray(k)?k[0]??"":k)||"",A=new SpeechSynthesisUtterance(w);try{A.rate=Math.max(.3,Math.min(3,t))}catch{}try{A.volume=Math.max(0,Math.min(1,a))}catch{}f.current=v(w,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(),F=performance.now()-D,R=f.current||1200,E=Math.min(1,F/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]),y=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:x,stopTTS:y}}var G8='.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(G8);async function U8(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 v=g;v<f;v++){const x=Math.abs(s[v]);x>b&&(b=x)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Nb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await U8(r,t,a)}catch(r){try{const n=Kr(r)}catch{}return null}}const Db=4;function Y8(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),[v,x]=l.useState(!1),[y,C]=l.useState(null),[_,k]=l.useState(2),[w,A]=l.useState(0),[T,S]=l.useState(null),[D,F]=l.useState(!1),R=3,E=3,$=1,B=300,G=l.useRef(0),Q=l.useCallback(async(ie,pe)=>{const ve=++G.current,xe=()=>G.current===ve;try{if(x(!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 X=be*R,Z=Math.max(0,be-1),fe=Z>0?(ce-X)/Z:E;k(Math.max(0,fe))}catch{be=120}const M=await Nb(ie,be);if(!xe())return;if(!M){b(null),x(!1);return}b(M),C(be),x(!0)}catch{if(!xe())return;b(null),x(!1)}},[x,b,A,k,C]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;Q(typeof ie=="string"?ie:void 0).catch(()=>{}),F(!1)},[t,a,Q]),l.useEffect(()=>{let ie=!1;if(!i||!y){S(null);return}const pe=d>0?d*(c||1):void 0;return Nb(i,y,pe).then(ve=>{ie||S(ve)}).catch(()=>{ie||S(null)}),()=>{ie=!0}},[i,y,d,c]);const ee=Math.max(0,Math.min(1,u)),oe=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),N=y||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*ee),be=xe!=null&&w>0&&xe*w<=Db,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,ee,w]),P={"--progress":String(Math.max(0,Math.min(1,r)))},H={"--bar-gap":`${_}px`},W=Math.max(0,Math.min(9,s))/9,te=v&&(i?!!T:!0);l.useEffect(()=>{te&&F(!0)},[te]);const I=D?v:te;l.useEffect(()=>{m?.(I)},[I,m]);const q=y||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*W),be=w>0&&xe*w<=Db,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,W,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:H,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 q8={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 K8=2e3;function jb(e,t=K8){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 Z8({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 X8(){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 J8({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 Q8({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 e7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function t7({ended:e,completedByEnd:t}){return!!e||!!t}function a7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function o7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function r7(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 n7({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=Q8({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),v=X8(),x=l.useRef(null),y=l.useRef(!1),C=l.useRef(0),_=l.useRef(null),{ref:k,rect:w,show:A,hide:T}=J8();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[S,D]=l.useState(!1),[F,R]=l.useState("idle"),[E,$]=l.useState("stopped"),B=l.useRef("stopped");l.useEffect(()=>{B.current=E},[E]);const[G,Q]=l.useState(0),[ee,oe]=l.useState("active"),[N,L]=l.useState(null),[P,H]=l.useState(null),[W,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:X,stop:Z,settleTo:fe}=n7({audioRef:g,fillRef:f,waveProgressRef:z,sourcesRef:ge,currentIndexRef:ce}),{onReadyChange:Ne,waitForReady:Ie,markNotReady:Me}=Z8({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(V=>{Xe.current=V,He(V)},[]),Ue=l.useRef(null),{activeNoiseUrl:et,noiseSettingsRef:Ke,fadeInNoise:Oe,fadeOutNoise:dt}=W8({noisePlayer:h,audioRef:g,playbackStateRef:B}),{startTTS:xt,stopTTS:Ze}=V8({ttsText:i,playbackRate:pe,mainVolume:ve,fillRef:f,waveProgressRef:z,setProgress:Q,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(V,J=3,de=50)=>{for(let Ce=0;Ce<J;Ce++)try{return await V.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 V=g.current;if(!V)return;const J=()=>{$("playing"),oe("playMode"),q(!0),X();try{Wo(),p.current?.("main",Vo(V))}catch{}const ye=Ke.current;ye?.enabled&&(ye?.level??0)>0&&Oe(ye.level/9)},de=()=>{t7({ended:!!V?.ended,completedByEnd:Xe.current})||($("paused"),Z(),dt())},Ce=()=>{try{const ye=ge.current,De=e7(ye,ce.current);if(De!==null){ce.current=De,te(De),q(!0);const ze=ye?.[De]&&ye[De].src;if(ze&&V){V.src=ze,V.load(),nt(V).catch(()=>{});return}}}catch{}$("stopped"),Q(1);try{if(V)try{V.currentTime=0}catch{}}catch{}Z(),q(!1),dt();try{!je.current&&Ue.current&&Ue.current()}catch{}};return V.addEventListener("play",J),V.addEventListener("pause",de),V.addEventListener("ended",Ce),()=>{try{V.removeEventListener("play",J),V.removeEventListener("pause",de),V.removeEventListener("ended",Ce),Z()}catch{}}},[Oe,dt,nt,Ke,X,Z]);l.useEffect(()=>tt(),[tt]),l.useEffect(()=>{je.current=n},[n]),l.useEffect(()=>{Ae.current=r},[r]),l.useEffect(()=>{if(n||ee!=="active")return;const V=_.current;if(!V)return;let J=null;const de=requestAnimationFrame(()=>{try{const Ce=V.getTotalLength();if(!Ce)return;const ye=Ce*.2;V.style.strokeDasharray=`${Ce-ye} ${ye}`;const De="triFlow_"+Math.random().toString(36).slice(2);J=document.createElement("style"),J.textContent=`@keyframes ${De}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${Ce}}}`,document.head.appendChild(J),V.style.animation=`${De} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(de),J?.remove()}},[ee,n]),l.useEffect(()=>{ge.current=N},[N]),l.useEffect(()=>{ce.current=W},[W]),l.useEffect(()=>{const V=b.current,J=x.current;if(!V||!J)return;let de=null;const Ce=32,ye=60,De=()=>{try{const ut=Array.from(V.querySelectorAll(":scope > .button"));let ue=0;ut.forEach(Yt=>{if(Yt===J)return;const Eo=Yt.getBoundingClientRect();ue+=Eo.width});const Se=V.getBoundingClientRect().width,Ge=Math.max(0,Math.floor(Se-ue-8)),mt=rt;if(!mt||Ge<=0){Array.from(J.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(J.querySelectorAll(".button")).forEach(Yt=>{try{Yt.style.width=`${_t}px`}catch{}})}catch{}},ze=requestAnimationFrame(De);try{de=new ResizeObserver(()=>{requestAnimationFrame(De)}),de.observe(V),de.observe(J),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=(V,J)=>{L(V),ie(J),Me(),H(a7(V)),ge.current=V},yt=async(V,J)=>{Te(!1),y.current=!1,V.src=J,V.load(),await jb(V),await Ie(),D(!1),await nt(V),oe("playMode"),te(0),q(!0)},aa=async(V,J=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await gc(V,{timeoutMs:1e4,rejectOnError:!0});lt([{src:V,objectUrl:null,duration:Ce}],Ce),R("ready"),J&&de&&await yt(de,V)}finally{y.current=!1,D(!1)}},at=async(V,J=!1)=>{const de=g.current;D(!0),R("measuring_duration");try{const Ce=await Promise.all(V.map(De=>gc(De,{timeoutMs:1e4}))),ye=V.map((De,ze)=>({src:De,objectUrl:null,duration:Ce[ze]||0}));lt(ye,o7(ye)),R("ready"),J&&de&&ye.length>0&&await yt(de,ye[0].src)}finally{y.current=!1,D(!1)}},Lt=async(V=!1,J=!0)=>{const de=g.current,Ce=t?Array.isArray(t)?t:[t]:[];if(!(!Ce||Ce.length===0||!Ce.some(Boolean))&&!y.current){y.current=!0,J&&D(!0),R("resolving");try{const ye=r7(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=v.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&&V&&de){const ut=De[0];Te(!1);try{v.keepOnly(De.map(ue=>ue.objectUrl))}catch{}if(R("ready"),y.current=!1,ut.src&&de)try{de.src=ut.src,de.load(),await jb(de),await Ie(),J&&D(!1),de&&await nt(de)}catch{J&&D(!1)}else J&&D(!1);oe("playMode"),te(0),q(!0)}}finally{y.current=!1,J&&D(!1),R(ye=>ye==="ready"?"ready":"idle")}}},Pt=async()=>{const V=g.current;if(!(!V&&!Le)){if(Le){const J=window.speechSynthesis;if(ee==="active"){const de=Fo(),Ce=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(de&&Ce.length>0){oe("load"),D(!0),R("resolving"),y.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{y.current=!1,D(!1),oe("active"),xt(Ce[0]||void 0)}return}xt(Ce[0]||void 0);return}if(ee==="playMode"){if(V){if(V.paused){if(Xe.current){await Wt();return}await nt(V),$("playing")}else V.pause(),$("paused");return}try{if(J&&J.paused)try{J.resume(),$("playing")}catch{}else try{J.pause(),$("paused")}catch{}}catch{}}return}if(ee==="active"){if(n&&Array.isArray(ge.current)&&ge.current.length>0){const J=ge.current[0];try{if(J.src&&V)try{V.src=J.src,V.load(),V&&await nt(V)}catch{}oe("playMode"),te(0),q(!0);return}catch{}}oe("load"),await Lt(!0);return}if(ee!=="load"&&(ee==="playMode"||ee==="active"))try{if(V&&V.paused){if(Xe.current){await Wt();return}V&&await nt(V),$("playing")}else V&&(V.pause(),$("paused"))}catch(J){(J instanceof Error||typeof J=="object"&&J&&"name"in J)&&J.name}}},Wt=async()=>{const V=g.current;if(V)try{const J=ge.current;if(Array.isArray(J)&&J.length>1){await Et(0);return}Te(!1);try{V.currentTime=0}catch{}V&&await nt(V),$("playing"),oe("playMode")}catch{}},Ea=()=>{if(Le){Ze();return}const V=g.current;try{if(V){try{V.pause()}catch{}try{V.currentTime=0}catch{}}}catch{}dt(),$("stopped"),oe("active"),Q(0),q(!1)},oa=async(V,{sameSegment:J=!1}={})=>{const de=++C.current,Ce=g.current,ye=ge.current?.[V]?.src;try{if(Te(!1),te(V),q(!0),ce.current=V,!ye||!Ce||(J||Me(),Ce.src=ye,Ce.load(),J||await Ie(),de!==C.current)||(await nt(Ce),de!==C.current))return;$("playing"),oe("playMode")}catch{}},va=async()=>{const V=ge.current,J=ce.current||0;if(!V||J<=0){await Wt();return}await oa(J-1)},Ta=async()=>{const V=ge.current,J=ce.current||0;if(!V||J>=V.length-1){Ea();return}await oa(J+1)},jt=()=>{if(Xe.current)return;const V=200,J=340;Te(!0);try{Q(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},J)},V)}catch{}};l.useEffect(()=>{Ue.current=jt});const Ua=l.useCallback(()=>U(""),[]),Et=async V=>{(ge.current||[])[V]&&await oa(V,{sameSegment:V===ce.current})},xa=E==="playing",Ya=l.useMemo(()=>{if(!P||P.length<=1)return P;const V=P[W];return V?[V]:P},[P,W]),Je=n===!0;l.useEffect(()=>{try{const V=g.current;V&&typeof V.playbackRate=="number"&&(V.playbackRate=pe||1)}catch{}},[pe]),l.useEffect(()=>{try{const V=g.current;V&&(V.volume=Math.max(0,Math.min(1,ve)))}catch{}},[ve]);const zt=xe==="hold",wt=xe==="out",_a=ee==="playMode"&&!S&&!we||zt||wt,ra=E!=="stopped"||zt||wt,na=E==="paused",ia=Math.max(0,Math.min(100,(G||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":""} ${ee!=="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:q8[F]})]}):null,ee==="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,w&&o.jsx(ha,{anchorRect:w,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${ee==="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:ee!=="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:ee!=="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:ee!=="playMode"}),rt>1?o.jsx("div",{ref:x,className:"audio-player__source-buttons",children:Array.from({length:rt}).map((V,J)=>o.jsx(ne,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(J+1),onClick:()=>{try{Et(J)}catch{}},ariaLabel:u("training.sourcePlay",{n:J+1}),variant:"transparent-white",selected:I&&W===J,disabled:ee!=="playMode"||!(Array.isArray(N)&&N[J]),showTooltipInfo:!0},J))}):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:ee!=="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:ee!=="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:ee!=="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(Y8,{segments:Ya,progress:G,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:Ua})]})}var i7=".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(i7);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"}),v=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),x=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),y=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],C={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:C,children:y.map((k,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[y.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,o.jsx("span",{className:"tooltip-textbox__line-text",children:k})]},w))})]}),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:v,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:x,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 s7=".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(s7);var l7='.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(l7);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 c7=".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(c7);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),[v,x]=l.useState(!1),[y,C]=l.useState(null),[_,k]=l.useState(null),w=l.useRef(i);l.useEffect(()=>{w.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(()=>{x(!1),C(null),k(null)},[]);l.useEffect(()=>{if(!v)return;let D;try{typeof w.current=="function"&&(D=w.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){x(F=>!F);return}if(v)x(!1),C(null),k(null);else{const F=b.current.getBoundingClientRect();C(F),x(!0)}}},[i,s,v]);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:v,onClick:S,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),v&&o.jsx(Do,{text:_??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:y,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 Ga({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 w=setTimeout(()=>h(k),0);return()=>clearTimeout(w)}},[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,v]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),x=l.useCallback(k=>{if(!k)return null;try{const w=k;if(typeof k=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const S=w.currentTarget??w.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}},[]),y=l.useCallback((k,{text:w="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:T=!1,alignX:S="center",alignY:D="top"}={})=>{const F=x(k);v({text:w,label:A,anchorRect:F,backdrop:T,alignX:S,alignY:D}),f(!0)},[x]),C=l.useCallback(()=>{f(!1),v(k=>({...k,anchorRect:null}))},[]),_=l.Children.map(i,k=>{if(l.isValidElement(k)){const w=k;if(typeof w.type=="string")return w;const A=w.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(w,{onDone:T,disabled:D,showTooltip:y,hideTooltip:C})}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:C,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(Do,{text:b.text,onClose:C})}):null]})}var d7='.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(d7);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,v]=l.useState(""),x=l.useCallback(()=>i("active"),[]),y=l.useCallback(()=>v(""),[]),C=S=>{try{v(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 w=t==="disabled"?n:t,A=w==="disabled"?"training-text-box--disabled":w==="active"?"training-text-box--active":w==="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} ${w!=="disabled"&&s==="dark"?"is-dark":""}`,children:[w==="disabled"&&o.jsx("div",{className:"training-text-box__preview",children:o.jsx(ne,{size:48,type:"bar",onClick:x,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":w==="disabled",children:o.jsx("span",{className:"training-text-box__inner h3",style:T,children:k})}),w!=="disabled"&&o.jsxs("div",{className:"training-text-box__buttons","aria-hidden":w==="disabled",children:[o.jsx(ne,{size:32,type:"dot",onClick:m,onDisabledClick:()=>C(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:()=>C(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:y})]})}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(),v=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),x=typeof e=="number"?e:-1,y=typeof t!="number"?"disabled":x<t?"done":x===t?"active":"disabled",C=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,_=d?d.join("||"):"",k=u?u.join("||"):"",[w,A]=l.useState(()=>Array.isArray(C)?f?Ve(C):C.slice():void 0);l.useEffect(()=>{Array.isArray(C)&&C.length?A(f?Ve(C):C.slice()):A(void 0)},[c,_,k,f]);const[T,S]=l.useState(null),[D,F]=l.useState(()=>new Set);l.useEffect(()=>{S(null),F(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),F(new Set)),R.current=t},[t,e]);const E=l.useCallback(B=>{if(y!=="active")return;const G=w?.[B];if(G==null)return;const Q=G,ee=y==="active"||y==="done";if(m){const oe=new Set(D),N=oe.has(Q);N?oe.delete(Q):oe.add(Q),F(oe),typeof s=="function"&&s({selectedValues:[...oe],__ts:Date.now()}),ee&&(typeof h=="number"&&h>0?oe.size>=h:!N)&&typeof i=="function"&&y==="active"&&i({selectedValues:[...oe],__ts:Date.now()})}else S(Q),typeof s=="function"&&s({selectedIndex:B,selectedValue:Q,__ts:Date.now()}),ee&&typeof i=="function"&&y==="active"&&i({selectedIndex:B,selectedValue:Q,__ts:Date.now()})},[w,y,m,s,i,h,D]),$=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:v,useTitleFaded:n,children:o.jsx("div",{className:$,children:Array.isArray(w)&&w.length>0?w.map((B,G)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>E(G),ariaLabel:String(B),label:B,useLabel:!0,icon:g?g[String(B)]:void 0,variant:"default",disabled:y==="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 C=setTimeout(()=>b(null),0);return()=>clearTimeout(C)}},[p,c,f]);const v=l.useCallback(C=>{const _=typeof C=="object"&&C!==null?Object.assign({},C,{__ts:Date.now()}):{value:C,__ts:Date.now()};typeof i=="function"&&i(_),h==="active"&&typeof n=="function"&&n(_)},[i,h,n]),x=l.useCallback(()=>{h==="active"&&(b(!1),v(!1))},[v,h]),y=l.useCallback(()=>{h==="active"&&(b(!0),v(!0))},[v,h]);return o.jsxs(Ga,{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((C,_)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(_),v&&v(_))},disabled:h==="disabled",ariaLabel:String(C),label:C,variant:h,selected:f===_},_)):o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:56,type:"bar",onClick:x,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:y,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(),v=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),x=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:v,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(kr,{soundSrc:s,ttsText:s?null:u??v,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:x,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var u7=".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(u7);var p7=".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(p7);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=(H=>{const W=(H||[]).map((O,ie)=>({id:ie,text:u(O)}));if(W.length<=1)return W;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(W),q=0;for(;te(I,W)&&q<20;)I=Ve(W),q+=1;return I})(L);g(P);try{if(typeof i=="function"){const H=P.filter((W,te)=>W.text===u(L[te])).length;i({shuffled:P,score:H,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const H=P.filter((W,te)=>W.text===u(L[te])).length;n({shuffled:P,score:H,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,P)=>{const H=[...p],W=L+P;if(W<0||W>=H.length)return;const te=H[W];H[W]=H[L],H[L]=te,$(H);try{if(typeof n=="function"&&f==="active"){const I=H.filter((q,O)=>q.text===u(m[O])).length;n({shuffled:H,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[v,x]=l.useState(null),y=l.useRef(null),C=l.useRef(null),_=l.useRef(null),k=l.useRef(null),w=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,H=S.current||{dx:0,dy:0};y.current&&(y.current.style.transform=`translate3d(${P.x-H.dx}px, ${P.y-H.dy}px, 0)`)};T.current=requestAnimationFrame(L)},F=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return F.current.forEach((P,H)=>{P&&P.getBoundingClientRect&&L.set(H,P.getBoundingClientRect())}),L},$=L=>{const P=E();g(L);try{if(typeof i=="function"){const H=L.filter((W,te)=>W.text===u(m[te])).length;i({shuffled:L,score:H,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=E();L.forEach(W=>{const te=P.get(W.id),I=H.get(W.id),q=F.current.get(W.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 H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),P.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}x(L);try{const H=p[L],W=document.createElement("div");W.className="order-list__dragging-object order-list__dragging-object--visible",W.textContent=H&&H.text?H.text:"",document.body.appendChild(W),y.current=W;const te=F.current.get(H.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=W.getBoundingClientRect(),ie=O.width/2,pe=O.height/2;S.current={dx:ie,dy:pe},W.style.transition="none",A.current={x:I,y:q},W.style.transform=`translate3d(${I-ie}px, ${q-pe}px, 0)`,requestAnimationFrame(()=>{try{W.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()};C.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{}},G=(L,P)=>{P.preventDefault();try{P.dataTransfer&&(P.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const H=P.currentTarget&&P.currentTarget.closest?P.currentTarget.closest(".order-list__item"):null;if(H&&k.current!==H){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}k.current=H}}catch{}},Q=(L,P)=>{P.preventDefault();const H=P.dataTransfer?.getData("text/plain")||"",W=H?parseInt(H,10):v,te=L;if(typeof W!="number"||isNaN(W)||W===te){x(null),N(),ee();return}const I=Wi(p,W,te);$(I),x(null),ee();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()},ee=()=>{if(y.current){try{document.body.removeChild(y.current)}catch{}y.current=null}C.current&&(document.removeEventListener("dragover",C.current),C.current=null),_.current&&(document.removeEventListener("mousemove",_.current),_.current=null),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null)},oe=()=>{x(null),N(),ee()};l.useEffect(()=>()=>ee(),[]);const N=()=>{try{if(w.current!==null&&(clearTimeout(w.current),w.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,H)=>{const W=R.current.get(P.id);if(!W)return;let te=50;L>1&&(te=Math.round(H/(L-1)*100));try{W.style.setProperty("--marker-pos",te+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{ee(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Ga,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,P)=>{const H=Math.max(1,(p||[]).length),W=H>1?Math.round(P/(H-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":W+"%"},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=F.current;te?I.set(L.id,te):I.delete(L.id)},className:`order-list__draggable ${v===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=>G(P,te):void 0,onDragOver:f==="active"?te=>G(P,te):void 0,onDragLeave:f==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.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=>Q(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 h7="";ae(h7);const m7=8e3;function b7(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 v=typeof e=="number"?e:-1,x=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",[y,C]=l.useState(null),_=l.useRef([]),[k,w]=l.useState(!1),A=l.useMemo(()=>g.map(F=>F?.id??F?.word??"").join("|"),[g]);l.useEffect(()=>{C(null),_.current=[]},[A]);const T=l.useCallback((F,R)=>{if(c)return;const E={item:F,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(x==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,x,n]),S=l.useCallback(async()=>{if(!(k||x==="disabled")){w(!0);try{for(const F of _.current)F&&await b7(F.play(),m7)}finally{w(!1)}}},[k,x]),D=l.useCallback((F,R)=>{if(x!=="active")return;C(R);const E={selectedValue:F.word||F.title||"",selectedIndex:R,item:F,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(x==="active"&&typeof n=="function")try{n(E)}catch{}},[i,x,n]);return o.jsx(Ga,{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((F,R)=>o.jsx(Nn,{ref:E=>{_.current[R]=E},item:F,disabled:x==="disabled",onPlayDone:()=>T(F,R),selectable:c,selected:c&&y===R,onSelect:c?()=>D(F,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},F&&F.id||R))})})}const g7=160;var f7=".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(f7);const Eb=()=>{};function Da(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:v,onClick:x,children:y,align:C="horizontal",icon:_}=e,k=w=>{x&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),x())};return o.jsxs("div",{className:_e("panel-row",C==="vertical"?"panel-row--vertical":"",x?"panel-row--clickable":""),onClick:x,onKeyDown:x?k:void 0,role:x?"button":void 0,tabIndex:x?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}),v&&o.jsx("div",{className:"panel-row__sub caption-1",children:v})]}),o.jsx("div",{className:"panel-row__right",children:y})]})}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,v=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((x,y)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:x.options,value:x.value,onChange:x.onChange,placeholder:x.placeholder,block:u,error:!!c,ariaLabel:x.ariaLabel??([r,x.placeholder].filter(Boolean).join(" ")||void 0)})},y))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Eb,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:[v,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):v}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((v,x)=>o.jsx(ne,{size:v.btnSize??40,variant:v.btnVariant??"default",disabled:v.disabled,onClick:v.onClick,children:v.label},x))}):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??Eb,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 Tb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Lb({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:wm(i.device),fill:"soft",label:i.device}),Tb(i)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:Tb(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:v}){const x=_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),y={};return i!==void 0&&(y.minHeight=i),s!==void 0&&(y.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(y["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:x,style:Object.keys(y).length?y: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&&(v==null||Array.isArray(v)&&v.length===0)?o.jsx(Da,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:v}):v]})}function Mb({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function v7(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 $b(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"}]}v7(Ca.t.bind(Ca)),$b(Ca.t.bind(Ca));var x7='.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(x7);const yc="none",_7=.5,C7=1.5,y7=.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=O8(i),u=n?.playbackRate??1,m=n?.mainVolume??1,h=Math.round(m*100),p=l.useCallback(v=>{try{n?.setMainVolume(Math.max(0,Math.min(1,v/100)))}catch{}},[n]),g=l.useCallback(v=>{try{n?.setPlaybackRate(v)}catch{}},[n]),f=l.useCallback(v=>{const x=F8(v);try{n?.setSettings({level:x})}catch{}},[n]),b=l.useCallback(v=>{try{v===yc?n?.setSettings({enabled:!1}):n?.setSettings({type:v,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:_7,max:C7,step:y7,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")},...$b(a).map(v=>({key:v.value,label:v.label}))],value:c?s:yc,onChange:b})})]})})}var w7=".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(w7);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),v=l.useRef(null),x=mc(),y=s<c-1,C=s===c-1,_=n===Math.max(0,i);l.useEffect(()=>{e||(m(!1),p(null))},[e]);const k=l.useCallback(()=>{m(!1),p(null)},[]),w=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=v?.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:w,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:v,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:x?.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:x?.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:[C&&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:!_}),y&&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 k7=".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(k7);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,v=Number.isInteger(u)?u:d||0,x=h||p,y=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,C=typeof e=="string"?e.trim():e,_=typeof t=="string"?t.trim():t,k=!!(C||_),w=k?C||_:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=y||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:[x?o.jsx(ne,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:x,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Nm,{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:w}),a?o.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),o.jsx(Ql,{max:Math.max(0,v??0),index:Math.max(0,b??0)})]})}function Rb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Pb(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 zb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Ib({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 Ob(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Fb(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 Hb(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 Wb(e,t,a,r){return Nc(e,t*a+r)}function Vb({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 Gb(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 Ub=l.createContext(null);function A7(){const e=l.useContext(Ub);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function S7({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 v=[...b];if(v[f]!==null){const y=v[f];return v.map(C=>C!==null&&C>=y?null:C)}v[f]=p;const x={selectedOrder:v,words:n,__ts:Date.now()};try{typeof s=="function"&&s(x)}catch{}if(v.every(y=>y!==null))try{typeof i=="function"&&i(x)}catch{}return v})},[d,p,s,i,n]);return o.jsx(Ga,{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=A7();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 B7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=jo(e,t);return o.jsx(S7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var N7=`.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(N7);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 D7(e){return Mc(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Yb(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 v=Yb(b),x=Mc(b?.wording,b?.label);return v===!0?{variant:"main",label:x??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:v===!1?{variant:"danger",label:x??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:x??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 v=b??{},x=D7(v)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:y,label:C}=u(v),_=Array.isArray(v.corrects)?v.corrects:[],k=_.length?_.join(", "):v.answer!=null&&v.answer!==""?String(v.answer):null,w=typeof v.selectedText=="string"?v.selectedText:null,A=Yb(v)===!0;return{problem:x,variant:y,label:C,answer:k,selectedText:w,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:v})=>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:v})]}),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,v)=>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(v+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})})]},v))]})})]})})}function j7(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 E7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const qb=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),T7=e=>o.jsx($c,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function L7(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:v=!0,children:x,ariaLabel:y,label:C,buildResults:_,onResult:k,typeKey:w,entryPoint:A,dailyTotal:T,itemRef:S,renderResultPopup:D,noiseOverride:F}=e;j7(w&&!qb.has(w)?w:"");const R=l.useRef(0);l.useEffect(()=>{R.current=Date.now()},[]);const{t:E}=me.useTranslation(),$=k,B=!!t,G=t?.id||null,Q=t?.meta||{},ee=Array.isArray(t?.pages)?t.pages:[],oe=Array.isArray(x)||l.isValidElement(x)&&typeof x!="function"?l.Children.toArray(x).filter(l.isValidElement):[],N=oe.length>0,L=le=>le===Sr||le?.__isTrainingPage===!0,P=N&&oe.some(le=>L(le.type)),H=P?oe.filter(le=>L(le.type)).map((le,V)=>{const J=le.props||{};return{id:`children-page-${V}`,steps:l.Children.toArray(J.children).filter(l.isValidElement),pageTop:J.pageTop||J.top||null,pageBottom:J.pageBottom||J.bottom||null}}):[{id:"children-page-0",steps:oe}],W=N&&!B&&typeof x!="function",te=W?Math.max(1,H.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 V=Number(le.dataset.ihabTrainingPopupCount||"1")-1;V>0?le.dataset.ihabTrainingPopupCount=String(V):(delete le.dataset.ihabTrainingPopupCount,le.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return p8()},[]);const[I,q]=l.useState({...Ab,enabled:!1}),O=l.useRef(I);l.useEffect(()=>{O.current=I},[I]);const ie=l.useRef(F);l.useEffect(()=>{let le=!1;return ls().then(V=>{if(le)return;const J=V?{...O.current,...V}:{...Ab};O.current=J,q(J),ar(J);const de=ie.current;if(de){const Ce=typeof de=="function"?de(J):de,ye={...J,...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,V)=>{le==="main"?ve(V):be(V)},[]),U=l.useCallback(le=>{const V={...O.current,...le};O.current=V,q(V),ie.current||cs(V),ar(V)},[]),re=I.mainSpeed,ge=I.mainVolume,ce=l.useCallback(le=>U({mainSpeed:le}),[U]),z=l.useCallback(le=>U({mainVolume:le}),[U]),X=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,g7))},[]);l.useEffect(()=>()=>{je.current&&clearTimeout(je.current)},[]),l.useEffect(()=>{const le=Z.current;if(!le)return;const V=Array.from(le.querySelectorAll(ur)).filter(de=>!de.closest('[aria-hidden="true"]'))[0];if(V)try{V.focus()}catch{}const J=de=>{if(de.key==="Escape"){de.preventDefault(),Ae(()=>{typeof p=="function"&&p()});return}};return le.addEventListener("keydown",J),()=>le.removeEventListener("keydown",J)},[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&&!W||(Oe(Fn()),Te(null))},[B,G,W]),l.useEffect(()=>{W&&Oe(le=>{const V=Math.max(0,Math.min(le.pageIndex,Math.max(0,te-1)));return V!==le.pageIndex?{...le,pageIndex:V,stepIndex:0}:le})},[W,te]);const xt=W?Math.max(0,Math.min(Ke.pageIndex,te-1)):0,Ze=W?H[xt]:null,st=W&&Ze&&Array.isArray(Ze.steps)?Ze.steps:[],Le=B?Ke.pageIndex:W?xt:typeof d=="number"?d:0,Pe=B?ee[Math.max(0,Math.min(Ke.pageIndex,Math.max(0,ee.length-1)))]:null,rt=B&&Pe&&Array.isArray(Pe.steps)?Pe.steps:[],nt=B?rt.length:W?st.length:typeof h=="number"?h:0,tt=B||W?Math.max(0,Math.min(Ke.stepIndex,Math.max(0,nt))):typeof m=="number"?m:0,lt=B?ee.length:W?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 V=()=>le.querySelector(".page-popup__scroll");let J=null,de=null,Ce=null;const ye=Se=>{const Ge=V();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=()=>{J!==null&&cancelAnimationFrame(J),J=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),J!==null&&cancelAnimationFrame(J),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,V,J)=>{Oe(de=>{const Ce=de.answersByPage[le]||{},ye=Ce[V],De=On(J),ze=On(ye);return ye&&ze>De?de:{...de,answersByPage:{...de.answersByPage,[le]:{...Ce,[V]:J}}}})},[Oe]),Lt=l.useCallback((le,V,J)=>{const de=Rc(Pe,Le),Ce=Pc(le,V);at(de,Ce,J)},[Pe,Le,at]),Pt=l.useCallback((le,V,J)=>{const de=Rc(Pe,Le),Ce=Pc(le,V);at(de,Ce,J),!J?.allowChange&&le?.autoAdvance!==!1&&Oe(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,V+1)}))},[Pe,Le,at,Oe]),Wt=l.useCallback((le,V)=>{const J=Ze?.id||`children-page-${Le??0}`,de=typeof V=="number"?V:tt??0,Ce=`step-${de}`;at(J,Ce,le),le?.allowChange||Oe(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,de+1)}))},[Ze,Le,tt,at,Oe]),Ea=l.useCallback((le,V)=>{const J=Ze?.id||`children-page-${Le??0}`,de=`step-${typeof V=="number"?V:tt??0}`;at(J,de,le)},[Ze,Le,tt,at]),oa=W?{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:ee,flowState:Ke,answersByPage:Ke.answersByPage})):null;return typeof $=="function"&&await Promise.resolve($(le))||le},Ta=async()=>{const le=Ze?.id||`children-page-${Ke.pageIndex}`,V=Ke.answersByPage[le]||{},J=P?(()=>{const ye={};let De=0;return H.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})():V;if(typeof _=="function"){const ye=await Promise.resolve(_(J,{pageAnswers:V,answersByPage:Ke.answersByPage,pages:H,currentPageId:le}));return typeof $=="function"&&await Promise.resolve($(ye))||ye}const de=Object.entries(V).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 J=va();Te({});const de=J;Promise.resolve(de).then(Ce=>{Te(Ce||{isEmpty:!0})}).catch(Ce=>{Te({isEmpty:!0})});return}if(W){const J=Ta();Te({});const de=J;Promise.resolve(de).then(Ce=>{Te(Ce||{isEmpty:!0})}).catch(Ce=>{Te({isEmpty:!0})});return}const le=Z.current&&Z.current._childOnResult,V=J=>{try{return J?J():void 0}catch{return}};if(typeof le=="function"){const J=V(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{}J&&typeof J.then!="function"?Te(J):Te(J&&typeof J.then=="function"?{}:{}),Promise.resolve(J).then(de=>{de&&Te(de)}).catch(de=>{});return}if(typeof $=="function"){const J=V($);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{}J&&typeof J.then!="function"?Te(J):Te(J&&typeof J.then=="function"?{}:{}),Promise.resolve(J).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}},Ua=()=>{if(B){if(typeof Le=="number"&&typeof lt=="number"&&Le<lt-1){Oe(V=>({...V,pageIndex:V.pageIndex+1,stepIndex:0}));return}return jt()}if(W){const V=st.length;if(typeof tt=="number"&&tt<V-1){Oe(J=>({...J,stepIndex:J.stepIndex+1}));return}if(typeof Le=="number"&&typeof lt=="number"&&Le<lt-1){Oe(J=>({...J,pageIndex:J.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?Q.title||Q.label||y||E("common.popup","\uD31D\uC5C5"):a||C||(Array.isArray(n)?n[n.length-1]:void 0)||y||E("common.popup","\uD31D\uC5C5"),xa=B?Q.title??Q.label??Et:a??C??Et,Ya=(le,V)=>{const J=Rc(Pe,Le),de=Pc(le,V),Ce=Ke.answersByPage[J]?.[de],ye=E7(le,{page:Pe,pageIndex:Le,step:le,stepIndex:V,storedPayload:Ce,answersByPage:Ke.answersByPage,flowState:Ke}),De={key:de,index:V,stepIndex:tt,isLast:V===rt.length-1};switch(le?.type){case"listen":return o.jsx(zn,{...De,...ye,onDone:ze=>Pt(le,V,ze)});case"confirm":return o.jsx(Rn,{...De,...ye,onDone:ze=>Pt(le,V,ze),onChange:ze=>Lt(le,V,ze)});case"confirmWithText":return o.jsx(Pn,{...De,...ye,onDone:ze=>Pt(le,V,ze),onChange:ze=>Lt(le,V,ze)});case"orderList":return o.jsx(In,{...De,...ye,onDone:ze=>Pt(le,V,ze),onChange:ze=>Lt(le,V,ze)});default:return null}},Je=B?ee.length>0?o.jsx("div",{className:"training-steps",children:rt.map((le,V)=>Ya(le,V))}):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=W?o.jsxs(Ub.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,V)=>{const J=le;return l.cloneElement(J,{...J.props,_stepIndex:V,_totalSteps:st.length,_stepKey:`step-${V}`,_pageIndex:Le})})}),Ze?.pageBottom?o.jsx("div",{className:"training-page-bottom",children:Ze.pageBottom}):null]}):null,wt=l.useCallback(()=>{let le;if(w){const V=He,J=V?.results||V?.answers||[],de=Array.isArray(J)&&J.length>0?J.length:null,Ce=Array.isArray(J)?J.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(J),category:qb.has(w)?"sentence":"word",trainingType:w,entryPoint:A??"sentence",itemRef:S??null,correct:ye,total:de,score:typeof V?.score=="number"?V.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,w,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?Q.subtitle||Q.label:Array.isArray(n)?n.join(" / "):void 0,desc:B?void 0:r,depth:B?Q.depth:n,icon:B?Q.icon:i,wrapperStyle:B?Q.wrapperStyle:s,iconTooltip:B?Q.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:W?zt:B?Je:typeof x=="function"?x({registerOnNext:yt,registerOnResult:aa,panelRef:Z,setResultOverlay:Te}):x})}),o.jsx(Ac,{onSettings:b,onNext:Ua,onResult:jt,useNoiseSettingBtn:!!(B?Q.useNoiseSetting??!0:v),stepIndex:tt,stepCount:nt,pageIndex:Le,pageCount:lt})]}),He&&!He.isEmpty&&(D??T7)({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(W){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(Sb.Provider,{value:X,children:na});return typeof document<"u"&&document.body?Vt.createPortal(ia,document.body):ia}const ja=L7;ja.Page=Sr,ja.ListenStep=Dc,ja.ConfirmStep=jc,ja.ConfirmWithTextStep=Ec,ja.OrderListStep=Tc,ja.CardStep=Lc,ja.CardOrderStep=B7;var M7=".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(M7);var $7='.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($7);function R7({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(R7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function Kb({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:v}){const{t:x,i18n:y}=me.useTranslation(),C=y.language?.startsWith("ko")??!1,{anchorRect:_,openAt:k,close:w}=ko(),[A,T]=l.useState(null),S=l.useCallback(()=>{w(),T(null)},[w]);Al(S,!!A);const D=(r??"").trim(),F=/^[^,[\]\s]+$/.test(D)?D:"",R=F.length>0,[E,$]=l.useState("ganada"),[B,G]=l.useState("50"),[Q,ee]=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:x("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:x("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:x("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:x("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:x("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:x("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:x("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[x,R]),H=l.useMemo(()=>["10","25","50","100"].map(z=>({value:z,label:x("wordSearch.pageSize",{count:Number(z),defaultValue:`${z}\uAC1C\uC529 \uBCF4\uAE30`})})),[x]),W=z=>z.words[0],te=l.useCallback((z,X)=>{const Z=Ie=>W(Ie)?.label??"",fe=Ie=>W(Ie)?.syllables??[...Z(Ie)].length,Ne=Ie=>{const Me=parseInt(W(Ie)?.grade??"",10);return Number.isFinite(Me)?Me:999};switch(L){case"match":{const Ie=[...F].length,Me=Ee=>ho(Z(Ee).slice(0,Ie),F)?0:1;return Me(z)-Me(X)||Z(z).localeCompare(Z(X),"ko")}case"ganada":return Z(z).localeCompare(Z(X),"ko");case"ganada_desc":return Z(X).localeCompare(Z(z),"ko");case"syllable":return fe(z)-fe(X)||Z(z).localeCompare(Z(X),"ko");case"syllable_desc":return fe(X)-fe(z)||Z(z).localeCompare(Z(X),"ko");case"grade":return Ne(z)-Ne(X)||Z(z).localeCompare(Z(X),"ko");case"grade_desc":return Ne(X)-Ne(z)||Z(z).localeCompare(Z(X),"ko");default:return 0}},[L,F]),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(X=>({item:X,label:z.label}))),[i,te]),ie=i?O.length:I.length,pe=Math.max(1,Math.ceil(ie/q)),ve=Math.min(Q,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),X=new Map;for(const{item:Z,label:fe}of z)X.has(fe)||X.set(fe,[]),X.get(fe).push(Z);return[...X.entries()].map(([Z,fe])=>({label:Z,items:fe}))},[i,O,ve,q]);l.useEffect(()=>{ee(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:x("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),o.jsx(Ut,{size:40,options:H,value:B,onChange:G,ariaLabel:x("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),o.jsx(xr,{page:ve,totalPages:pe,onChange:ee})]}):void 0,U=z=>{c&&c(z)},re=t!==void 0&&a?o.jsxs(o.Fragment,{children:[x("wordSearch.resultTitlePrefix","\uCD1D "),o.jsx("span",{style:{color:"var(--color-main)"},children:t}),x("wordSearch.resultTitleSuffix",{unit:C?Pi(a):a})]}):void 0,ge=t!==void 0&&t>0&&d!==void 0&&a?x("wordSearch.resultDisc",{unit:C?Ii(a):a,max:d,selected:s.length}):void 0,ce=b??(v?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"word-search-result-block__notice",children:v}),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:x("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(X=>{const Z=s.includes(X.id);return o.jsx("div",{onMouseEnter:fe=>{k(fe.currentTarget),T(X.words)},onMouseLeave:S,children:o.jsx(ne,{size:"word",align:"grid",label:X.words.map(fe=>fe.label),subLabel:X.words.map(fe=>fe.subLabel).filter(Boolean).length>0?X.words.map(fe=>fe.subLabel):void 0,selected:Z,onClick:()=>U(X.id),minWidth:200})},X.id)})})},z.label)):o.jsx("div",{className:"word-search-result-block__items",children:xe.map(z=>{const X=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:X,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:ee})}),(u||m)&&o.jsxs("div",{className:"word-search-result-block__actions",children:[u&&o.jsx(ne,{size:"56",type:"bar",label:x("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:x("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:m})})]})]})}var P7='.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(P7);function z7(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 Zb({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:v,onSearchEmpty:x,searchDisabled:y=!1,searchLabel:C,searchChecking:_=!1,pairMode:k=!1,sectionType:w="page",beforeSearchContent:A,beforeContent:T,afterContent:S,hideCountControl:D=!1,ordinal:F=!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]),G=l.useCallback(I=>F?R("wordPairs.phonemeOrdinalLabel",{ordinal:B[I-1]??I}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:I}),[F,B,a,R]),Q=l.useCallback(I=>F?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:B[I-1]??I}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:I}),[F,B,a,R]),ee=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]),H=Qt("(max-width: 767px)"),W=l.useCallback(I=>z7(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:H?"dot":void 0,icon:"info",label:H?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:w,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:W(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:G(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:W(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:Q(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:W(I)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:G(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:ee(G(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:Q(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:ee(G(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||v||_)&&(()=>{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?x: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:C??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):v&&o.jsx(ne,{size:"56",type:"bar",variant:"main",label:C??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:I||y,onClick:I||y?void 0:v})]})})(),S]})}function Xb({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 Jb({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 Qb({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=v=>m("wordPairs.count",{n:v}),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=(v,x)=>{x===h.searchMode?a(v===h.explicit?"explicit":v===h.pick?"pick":"include"):x===h.phonemeOrder?n(v===h.orderMatch?"ordered":"unordered"):x===h.count?s(v===p(2)?2:1):x===h.inputMode&&d(v===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 I7=".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(I7);function eg(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:v,topContent:x,className:y=""}=e,{t:C}=me.useTranslation(),_=i??C("common.search","\uAC80\uC0C9"),k=b??C("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,A]=l.useState(""),[T,S]=l.useState(c??r[0]?.key??""),[D,F]=l.useState(d),[R,E]=l.useState(String(f??g[0]??10)),[$,B]=l.useState(1);l.useEffect(()=>{B(1)},[w,R]);const G=s!==null,Q=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]),ee=s??Q,oe=l.useMemo(()=>{const I=G?a.filter(q=>ee(q,w)):a;return T?[...I].sort((q,O)=>{const ie=q[T]??"",pe=O[T]??"";if(ie===pe)return 0;const ve=L8(ie,pe);return D?ve:-ve}):I},[a,w,T,D,G,ee]),N=Math.max(1,Math.ceil(oe.length/Number(R))),L=oe.slice(($-1)*Number(R),$*Number(R)),P=l.useCallback(I=>{T===I?F(q=>!q):(S(I),F(!0))},[T]),H=l.useMemo(()=>{if(typeof v=="string"&&v.includes("{n}")){const[I,q]=v.split("{n}");return{prefix:I,suffix:q}}return{prefix:C("common.totalCountPrefix","\uCD1D "),suffix:C("common.totalCountSuffix","\uAC1C")}},[v,C]),W=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:C("common.pageSizeLabel",{n:I})})),[g,C]);return o.jsxs(Ba,{className:`popup-list ${y}`,title:t,onClose:p,children:[x,o.jsx(Cn,{count:{value:oe.length,prefix:H.prefix,suffix:H.suffix},search:G?{value:w,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:W,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 tg(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:v="small",className:x}=e,{t:y}=me.useTranslation(),C=l.useRef(!1),[_,k]=l.useState(!1);return o.jsxs(Ba,{title:t,onClose:f,closeDisabled:_,inline:b,size:v,className:_e("confirm-popup",x),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||_,onClick:async({closeWithAnimation:w})=>{if(!C.current){C.current=!0,k(!0);try{await u.onClick(w),(u.closeOnClick??!0)&&w()}finally{C.current=!1,k(!1)}}}}]:[],...d?[]:[{label:c??y("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:_,onClick:({closeWithAnimation:w})=>w()}],{label:s??y("common.confirm","\uD655\uC778"),variant:m,disabled:h||_,onClick:async({closeWithAnimation:w})=>{if(!C.current){C.current=!0,k(!0);try{await p(w),g&&w()}finally{C.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((w,A)=>o.jsx(Da,{label:w.label,children:o.jsx("span",{className:"panel-row__text body-2",children:w.value})},A))}),o.jsx("p",{className:"body-2 confirm-popup__message",children:a}),i]})}var O7=".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(O7);function ag({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 F7=".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(F7);const og=200;function H7(e){return e.itemId?(xs()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function rg({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=H7(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 W7=".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(W7);const ng=["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),v=t-b,x=(y,C)=>Array.from({length:y}).map((_,k)=>{const w=6+Math.random()*12,A=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),T=ng[Math.floor(Math.random()*ng.length)],S=Math.random()*300,D=(360+Math.random()*260)*r*1.2,F=(C==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(F)*D,E=Math.sin(F)*D*1.35,$=Math.random()*720-360,B=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),G=Math.random()>.7?"50%":"3px";return{id:`${C}-${k}`,side:C,size:A,color:T,delay:S,vx:R,vy:E,angularVel:$,life:B,borderRadius:G}});return[...x(b,"left"),...x(v,"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,v=performance.now(),x=p.current&&p.current!==document.body?p.current.getBoundingClientRect():null,y=Math.max(60,(window.innerHeight||800)*.05),C=N=>Math.max(40,(N||window.innerWidth)*.02),_=x?.width||window.innerWidth||375,k=x?.height||window.innerHeight||812,w=N=>{const L=[...N].sort((P,H)=>P-H);return L[Math.floor(L.length/2)]||1},A=w(s.map(N=>Math.abs(N.vy))),T=w(s.map(N=>Math.abs(N.vx))),S=Math.sqrt(2*b*(k*.72+y))/A,D=A*S/b,F=_*.5/(T*D),R=(N,L,P)=>Math.min(P,Math.max(L,N)),E=R(S,.8,2.4),$=R(F,.7,2.2),B=s.map(N=>({...N,vx:N.vx*$,vy:N.vy*E,startTime:v+N.delay,ended:!1})),G=x?{x:x.left-C(x.width),y:x.top+x.height+y}:{x:-C(window.innerWidth),y:window.innerHeight+y},Q=x?{x:x.left+x.width+C(x.width),y:x.top+x.height+y}:{x:window.innerWidth+C(window.innerWidth),y:window.innerHeight+y},ee=N=>{let L=!1;for(const P of B){const H=d.current[P.id];if(!H||!H)continue;if(N<P.startTime){H.style.display="none";continue}if(!P._inited){const be=P.side==="left"?G.x:Q.x,M=P.side==="left"?G.y:Q.y;H.style.left=`${be}px`,H.style.top=`${M}px`,H.style.transform="translate3d(0px, 0px, 0)",H.style.display="block",H.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?H.style.background=re:H.style.background="#FF0060"}}catch{}P._inited=!0}const W=(N-P.startTime)/1e3;if(W<0)continue;const te=P.life/1e3;if(W>=te){H.style.opacity="0",H.style.display="none",P.ended=!0;continue}L=!0;const I=P.side==="left"?G.x:Q.x,q=P.side==="left"?G.y:Q.y,O=I+P.vx*W,ie=q+P.vy*W+.5*b*W*W,pe=(P.angularVel||0)*W,ve=O-I,xe=ie-q;H.style.transform=`translate3d(${ve}px, ${xe}px, 0) rotate(${pe}deg)`,H.style.opacity=`${Math.max(0,1-W/te)}`}L?u.current=requestAnimationFrame(ee):m.current?.()};u.current=requestAnimationFrame(ee);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 H=L.color;try{if(typeof H=="string"&&H.startsWith("var(")){const W=H.slice(4,-1).trim(),te=getComputedStyle(document.documentElement).getPropertyValue(W).trim();te&&(H=te)}}catch{}P.style.background=H,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:v=>{d.current[b.id]=v},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 ig({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 V7=".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(V7);function sg({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 lg(e){return e??""}const cg=l.createContext({words:[],loading:!1});function dg(){return l.useContext(cg)}function ug({words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return o.jsx(cg.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var G7=".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(G7);function pg({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 U7='.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(U7);const Y7=(e,t)=>`${e} / ${t}`;function hg({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:n=Y7,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,v]=l.useState(null),[x,y]=l.useState(!1);l.useEffect(()=>{const D=h.current;if(!D)return;const F=()=>y(D.scrollWidth>D.clientWidth+1);if(F(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(F);return R.observe(D),()=>R.disconnect()},[b]);const C=e.map(D=>`${D.id}\0${D.section??""}\0${D.group??""}`).join("");l.useLayoutEffect(()=>{const D=p.current,F=f.current;if(!D||!F)return;const R=g.current?.offsetHeight??0,E=F.offsetHeight-R,$=Array.from(D.children).map(N=>N.offsetHeight),B=[];e.forEach((N,L)=>{const P=B[B.length-1],H=P?e[P[0]]:void 0;H&&N.group!=null&&H.group===N.group?P.push(L):B.push([L])});const G=[];let Q=[],ee=0;const oe=()=>{Q.length&&G.push(Q),Q=[],ee=0};B.forEach(N=>{const L=N.reduce((P,H)=>P+$[H],0);Q.length&&e[Q[0]].section!==e[N[0]].section&&oe(),Q.length&&ee+L>E&&oe(),L>E?N.forEach(P=>{Q.length&&ee+$[P]>E&&oe(),Q.push(P),ee+=$[P]}):(N.forEach(P=>Q.push(P)),ee+=L)}),oe(),v(G)},[C]);const _=Il,k=_,w=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,F,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:w}),o.jsx("span",{className:"report-doc__page-no",children:n(D,F)})]})}),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:x?0:void 0,role:x?"group":void 0,"aria-label":x?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,F)=>{const{header:R,footer:E}=A(F+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]},F)})})]})}var q7=".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(q7);function mg({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 K7=".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(K7);function bg({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 Z7=".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(Z7);function gg({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 X7=".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(X7);function fg({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,v=_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:v,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:x=>x.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 J7=".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(J7);const Q7="speechear:saved_word_tables";function ek(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 tk(){try{const e=localStorage.getItem(Q7);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(ek):[]}catch{return[]}}function vg({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:v,hideControls:x,saveOnly:y,tableName:C,nameValue:_,onNameChange:k,descriptionValue:w,onDescriptionChange:A,namePlaceholder:T,descriptionPlaceholder:S,existingNames:D,editingName:F,onCancel:R}){const{t:E}=me.useTranslation(),$=d??E("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),B=r===void 0,G=!!k,[Q,ee]=l.useState([]),oe=(_??"").trim(),N=oe||(T??"").trim(),L=(w??"").trim()||(S??"").trim(),P=(D??[]).map(ue=>ue.trim().toLowerCase()),H=[F?.trim().toLowerCase(),...Q].filter(ue=>!!ue),W=[...P];for(const ue of H){const Se=W.indexOf(ue);Se!==-1&&W.splice(Se,1)}const te=oe!==""&&W.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),[X,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?Rm(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=C?.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]),[Ua,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&&Ua,Ya=l.useMemo(()=>[...B||p?[{label:E("wordTable.filter.columns","\uCE78 \uC218"),items:S8.map(ue=>({value:`${ue}\uCE78`,displayLabel:E("wordTable.filter.column",{count:ue})})),display:"segmented"}]:[],...Le&&(r?.length??0)>0?[Vm(E,{hasPairs:yt,itemCount:Pe})]:[],...lt?[Gm(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")]:Um[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(Ym(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),G&&n){const Se=N.trim().toLowerCase();Se&&ee(Ge=>Ge.includes(Se)?Ge:[...Ge,Se]),n(N,wt,L||void 0,ue);return}if(y&&n){n("",wt,void 0,ue);return}if(n){Fe(!0);return}Wt()},[ra,na]=l.useState(!1),[ia,le]=l.useState(""),V=ia.trim(),J=V!==""&&P.includes(V.toLowerCase()),de=()=>{le(N?`${N} (\uBCF5\uC0AC)`:""),na(!0)},Ce=()=>{!V||J||!n||(n(V,wt,L||void 0,!0),na(!1))},ye=wt.length===0,De=ye||G&&(N===""||te),ze=()=>{if(ye){Ue(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(G&&N===""){Ue(E("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}G&&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:X,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:!V||J,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:J?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:tk().map(ue=>ue.name),saveAsNew:Xe,onSave:(ue,Se)=>{n(ue,wt,Se,Xe),Fe(!1)},onCancel:()=>Fe(!1)}),(B||g)&&pe!==null&&v?.({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}),!x&&o.jsx(En,{hasImage:xa,hasColloquial:Ta,contentTypes:M,orientation:xe,showOutline:ce,cutLine:re,showDivLine:X,setters:{setContentTypes:U,setOrientation:be,setShowOutline:z,setCutLine:ge,setShowDivLine:Z},showCutLine:(Le?nt:xt)>1,showDivLine2:yt,middleSections:Ya,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:X,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:X,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}),G&&!x&&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:w??"",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===" ")&&!(w??"").trim()&&(S??"").trim()&&(ue.preventDefault(),A?.(S??""))}})})]})]}),!x&&o.jsxs("div",{className:"word-table-block__actions",children:[o.jsxs("div",{className:"word-table-block__actions-left",children:[!y&&c&&o.jsx(ne,{size:40,type:"bar",label:$,onClick:c}),!y&&i&&o.jsx(ne,{size:40,type:"bar",label:E("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!y&&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}),!y&&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:()=>G?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 ak=".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(ak);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 ok=".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(ok);function xg({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:v,titleNode:x,className:y}){const{t:C}=me.useTranslation(),_=x!=null,k=u!=null||m!=null||h!=null||p!=null,w=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",y),role:"button",tabIndex:0,"aria-label":t,onClick:_?void 0:b,onKeyDown:w,children:[d&&o.jsx("span",{className:"word-table-button__new-dot","aria-label":C("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:[x??o.jsx("div",{className:"word-table-button__title h4",children:t}),a&&o.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),v&&!_&&o.jsx(ne,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:C("common.moreFor",{name:t}),onClick:A=>{A.stopPropagation(),v(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,C):""}),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,C)})]}),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