@ihabdevteam/core 0.121.0 → 0.122.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"},f1={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"}}},v1={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},x1={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"}},_1={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},C1={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"},y1={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},w1={ariaLabel:"\uC120\uD0DD \uD0ED"},k1={ariaLabel:"\uD0ED"},A1={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},S1={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},B1={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"}},N1={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"}},D1={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"}},j1={manage:{unit:"\uAC74"}},E1={cancelLabel:"\uCDE8\uC18C"},T1={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},L1={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"},M1={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},$1={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"},R1={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},P1={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},z1={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},I1={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},O1={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"}},F1={common:Mg,calendar:$g,passCard:Rg,searchField:Pg,rating:zg,colorPicker:Ig,dropdown:Og,accordion:Fg,header:Hg,nav:Vg,settings:Wg,usage:Gg,account:Ug,help:Yg,training:qg,trainingSettings:Kg,customers:Zg,payment:Xg,coupons:Jg,visits:Qg,company:e1,trainingType:t1,myWordTraining:a1,myWordTable:o1,keyWords:r1,wordTable:n1,wordSearch:i1,wordPrint:s1,topic:l1,accessLinkManager:c1,login:d1,trainingPlanRun:u1,device:p1,manager:h1,wordPairs:m1,game:b1,footer:g1,landing:f1,date:v1,trainingSetPage:x1,wordTrainingPreview:_1,wordData:C1,textField:y1,segmentedControl:w1,tabs:k1,fileUpload:A1,avatar:S1,myHomework:B1,trainingStatus:N1,store:D1,homework:j1,inquiry:E1,progress:T1,trainingMiss:L1,table:M1,wordScore:$1,topBanner:R1,datePicker:P1,report:z1,tooltip:I1,phonemeProfile:O1},H1={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"}}},V1={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"},W1={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"}},G1={clearAriaLabel:"Clear search"},U1={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},Y1={selected:"selected"},q1={placeholder:"Select"},K1={collapse:"Collapse",expand:"Expand"},Z1={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu"},X1={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"},J1={language:{training:{label:"Training Language",sub:"Language used for training words and speech"}},notifications:{title:"Notifications"},display:{fontSize:{small:"Small",large:"Large"}},cache:{title:"Cache Management",confirmMessage:"Delete cache ({{size}}). Do you want to continue?",delete:"Delete",deleting:"Deleting",cleared:"Cache cleared successfully.",group:{wordData:{label:"Word Data",sub:"Word list and version info"},pairIndex:{label:"Pair Index",sub:"Onset\xB7vowel\xB7coda minimal pair analysis cache"},imageCache:{label:"Image Cache",sub:"Word image existence check results"},trainingRecord:{label:"Training Record",sub:"Daily training progress and streak"}}},button:{save:"Save Settings"},popup:{clear:{confirm:"Reset"},update:{confirm:"Update"},cache:{title:"Delete {{label}}",message:"Delete {{label}} ({{size}}). Do you want to continue?"}},saved:"\u2713 Saved",account:{title:"Account",delete:{sub:"You can restore your account within 30 days of withdrawal."}}},Q1={addButton:"Add Subscription",couponButton:"Enter Coupon",active:{infoTitle:"Subscription Info",refund:"Request Refund",startDate:"Start Date",endDate:"End Date",remaining:"Remaining"},pending:{title:"Pending",empty:"No pending subscriptions."},loading:"Loading\u2026",segment:{personal:"Malgwi",org:"Malgwi Manager"},org:{title:"Current Plan",disc:"Subscription plan in use by your organization.",empty:"No organization plan registered.",fallbackTitle:"Organization Plan",startDate:"Start Date",endDate:"End Date",remaining:"Remaining",duration:"Duration"}},e0={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"}}},t0={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},a0={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",noiseRatioTitle:"Noise Ratio",noiseRatioValue:"{{ratio}}\xD7",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"},o0={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"},r0={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"}},n0={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},i0={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"}},s0={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},l0={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},c0={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."}},d0={comingSoon:"Word training is coming soon."},u0={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"}},p0={title:"Key Words",empty:"No key words available."},h0={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"}},m0={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}}"}},b0={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},g0={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"}},f0={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"}},v0={passwordPlaceholder:"Enter password"},x0={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"},_0={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"}},C0={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."]},y0={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"}},w0={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"},k0={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"}}},A0={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},S0={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},B0={answer:"Answer",distractor:"Distractor"},N0={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},D0={clearAriaLabel:"Clear input"},j0={ariaLabel:"Select tab"},E0={ariaLabel:"Tabs"},T0={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},L0={ariaLabel:"User avatar"},M0={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"}},$0={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"}},R0={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)"}},P0={manage:{unit:"item(s)"}},z0={cancelLabel:"Cancel"},I0={subtitle:"Select a topic to start listening practice."},O0={steps:"Step {{current}} of {{total}}"},F0={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"},H0={resetColumns:"Reset column widths"},V0={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}}"},W0={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},G0={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},U0={previewRegion:"Report preview \u2014 scrollable sideways"},Y0={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},q0={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},K0={common:H1,calendar:V1,passCard:W1,searchField:G1,rating:U1,colorPicker:Y1,dropdown:q1,accordion:K1,header:Z1,nav:X1,settings:J1,usage:Q1,account:e0,help:t0,training:a0,trainingSettings:o0,customers:r0,payment:n0,coupons:i0,visits:s0,company:l0,trainingType:c0,myWordTraining:d0,myWordTable:u0,keyWords:p0,wordTable:h0,wordSearch:m0,wordPrint:b0,topic:g0,accessLinkManager:f0,login:v0,device:x0,manager:_0,wordPairs:C0,game:y0,footer:w0,landing:k0,date:A0,trainingSetPage:S0,wordTrainingPreview:B0,wordData:N0,textField:D0,segmentedControl:j0,tabs:E0,fileUpload:T0,avatar:L0,myHomework:M0,trainingStatus:$0,store:R0,homework:P0,inquiry:z0,trainingPlanRun:I0,progress:O0,trainingMiss:F0,table:H0,wordScore:V0,topBanner:W0,datePicker:G0,report:U0,tooltip:Y0,phonemeProfile:q0};const jr="0.121.0",Mo=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],po="ko",Wn="ihab_display_language";function Jc(){try{const e=localStorage.getItem(Wn);if(e&&Mo.some(t=>t.code===e))return e}catch{}return po}function Z0(e){try{localStorage.setItem(Wn,e)}catch{}}function Qc(e){try{document.documentElement.lang=e}catch{}}ka.on("languageChanged",Qc),Qc(Jc()),ka.use(he.initReactI18next).init({resources:{ko:{translation:F1},en:{translation:K0}},lng:Jc(),fallbackLng:po,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const ed=l.createContext({locale:po,supportedLocales:Mo});function X0(){return l.useContext(ed)}function J0({locale:e=po,children:t}){return l.useEffect(()=>{const a=Mo.find(r=>r.code===e)?e:po;ka.language!==a&&ka.changeLanguage(a)},[e]),o.jsx(ed.Provider,{value:{locale:e,supportedLocales:Mo},children:t})}function Ce(...e){return e.filter(Boolean).join(" ")}var Q0=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__emoji{font-size:40px;line-height:1}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);height:40px;width:40px}.ihabdevteam-core-scope .empty-state__title{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__message{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__hint{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}.ihabdevteam-core-scope .empty-state--compact{padding:var(--spacing-page) var(--spacing-m);padding-block:56px}";te(Q0);const td=new Set,ad=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Gn(e,...t){!ad||td.has(e)||(td.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"},k0={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"}}},A0={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},S0={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},B0={answer:"Answer",distractor:"Distractor"},N0={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},D0={clearAriaLabel:"Clear input"},j0={ariaLabel:"Select tab"},E0={ariaLabel:"Tabs"},T0={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},L0={ariaLabel:"User avatar"},M0={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"}},$0={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"}},R0={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)"}},P0={manage:{unit:"item(s)"}},z0={cancelLabel:"Cancel"},I0={subtitle:"Select a topic to start listening practice."},O0={steps:"Step {{current}} of {{total}}"},F0={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"},H0={resetColumns:"Reset column widths"},V0={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}}"},W0={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},G0={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},U0={previewRegion:"Report preview \u2014 scrollable sideways"},Y0={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},q0={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},K0={common:H1,calendar:V1,passCard:W1,searchField:G1,rating:U1,colorPicker:Y1,dropdown:q1,accordion:K1,header:Z1,nav:X1,settings:J1,usage:Q1,account:e0,help:t0,training:a0,trainingSettings:o0,customers:r0,payment:n0,coupons:i0,visits:s0,company:l0,trainingType:c0,myWordTraining:d0,myWordTable:u0,keyWords:p0,wordTable:h0,wordSearch:m0,wordPrint:b0,topic:g0,accessLinkManager:f0,login:v0,device:x0,manager:_0,wordPairs:C0,game:y0,footer:w0,landing:k0,date:A0,trainingSetPage:S0,wordTrainingPreview:B0,wordData:N0,textField:D0,segmentedControl:j0,tabs:E0,fileUpload:T0,avatar:L0,myHomework:M0,trainingStatus:$0,store:R0,homework:P0,inquiry:z0,trainingPlanRun:I0,progress:O0,trainingMiss:F0,table:H0,wordScore:V0,topBanner:W0,datePicker:G0,report:U0,tooltip:Y0,phonemeProfile:q0};const jr="0.122.0",Mo=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],po="ko",Wn="ihab_display_language";function Jc(){try{const e=localStorage.getItem(Wn);if(e&&Mo.some(t=>t.code===e))return e}catch{}return po}function Z0(e){try{localStorage.setItem(Wn,e)}catch{}}function Qc(e){try{document.documentElement.lang=e}catch{}}ka.on("languageChanged",Qc),Qc(Jc()),ka.use(he.initReactI18next).init({resources:{ko:{translation:F1},en:{translation:K0}},lng:Jc(),fallbackLng:po,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const ed=l.createContext({locale:po,supportedLocales:Mo});function X0(){return l.useContext(ed)}function J0({locale:e=po,children:t}){return l.useEffect(()=>{const a=Mo.find(r=>r.code===e)?e:po;ka.language!==a&&ka.changeLanguage(a)},[e]),o.jsx(ed.Provider,{value:{locale:e,supportedLocales:Mo},children:t})}function Ce(...e){return e.filter(Boolean).join(" ")}var Q0=".ihabdevteam-core-scope .empty-state{align-items:center;border:1px solid var(--color-whiteLine);border-radius:var(--radius-m);display:flex;flex-direction:column;gap:10px;justify-content:center;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__emoji{font-size:40px;line-height:1}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);height:40px;width:40px}.ihabdevteam-core-scope .empty-state__title{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__message{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__hint{color:var(--color-lightGray);margin:0}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}.ihabdevteam-core-scope .empty-state--compact{padding:var(--spacing-page) var(--spacing-m);padding-block:56px}";te(Q0);const td=new Set,ad=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Gn(e,...t){!ad||td.has(e)||(td.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 @@ ${y.badge}`:y.badge:void 0;if(k&&d(y.code))return null;if(!y.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}}`;te(O8);function F8(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(Fe,{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 Ab(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(F8,{category:p,isSelected:s===p.key,onClick:()=>h(p.key)},p.key))})}var H8=".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)}}";te(H8);function Sb({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 V8=".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}}";te(V8);function Bb({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const r=a?.email??"support@ihab.co.kr",n=a?.tel??"031-380-3724",{t:i}=he.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 W8='.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}}';te(W8);function Nb({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 G8=".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}}";te(G8);function Db({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,...Em(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const jb=9,hc=2,U8=.1,Eb=e=>Math.min(hc,Math.max(0,e)),Y8=e=>Math.round(e*10)/10;function mc(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return Eb(t);const a=Math.min(jb,Math.max(0,Number(e.level)||0))/jb,r=Number(e.mainVolume);return r>0?Y8(Eb(a/r)):1}function bc(e){const t=Math.min(1,Math.max(0,Number(e.mainVolume)||0));return Math.min(1,t*mc(e))}function gc(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=mc({level:a.level,mainVolume:a.mainVolume})),a}const fc={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Tb=l.createContext(null);function vc(){return l.useContext(Tb)}const xc=e=>`${ii()}/${e}`,Lb=e=>Array.from({length:10},(t,a)=>xc(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),$n={get defaultNoise(){return xc("noise1.mp3")},get street(){return Lb("noise2")},get restaurant(){return Lb("noise3")},get buzz(){return xc("noise4.mp3")}};function q8(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 K8({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,C=250)=>{const y=n.current;if(!y||!y.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Go(y))}catch{}const _=y.paused?0:y.volume;y.paused&&(y.volume=0),y.play().catch(()=>{});const k=performance.now(),w=()=>{const A=Math.min(1,(performance.now()-k)/C);try{y.volume=Math.max(0,Math.min(1,_+(v-_)*A))}catch{}A<1?u.current=requestAnimationFrame(w):u.current=null};u.current=requestAnimationFrame(w)},[p]),f=l.useCallback((v=250,C)=>{const y=n.current;if(!y||y.paused){C?.();return}const _=++m.current;p();const k=performance.now(),w=y.volume,A=()=>{const T=Math.min(1,(performance.now()-k)/v);try{y.volume=Math.max(0,w*(1-T))}catch{}if(T<1)u.current=requestAnimationFrame(A);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{y.pause()}catch{}C?.()}};u.current=requestAnimationFrame(A),h.current=setTimeout(()=>{if(h.current=null,m.current===_){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{y.paused||(y.volume=0,y.pause(),C?.())}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?bc(e.settings):0,x=!!e?.settings.enabled&&b>0;return l.useEffect(()=>{if(!x)return;let v=0;const C=setInterval(()=>{const y=n.current;if(!y||y.paused){v=0;return}const _=t.current;if(_&&!_.paused&&!_.ended||a.current==="playing"){v=0;return}v+=1,v>=2&&(v=0,f())},400);return()=>clearInterval(C)},[f,x,t,a]),l.useEffect(()=>{const v=()=>{if(!document.hidden)return;const C=n.current;if(C&&!C.paused){p();try{C.pause()}catch{}}};return document.addEventListener("visibilitychange",v),()=>document.removeEventListener("visibilitychange",v)},[p]),l.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:b,type:e.settings.type}:null},[e,e?.settings.enabled,b,e?.settings.type]),l.useEffect(()=>{const v=e?.settings,C=n.current;if(!C)return;const y=v?bc(v):0;if(!v||!v.enabled||y===0){f();return}if(c.current!==v.type){const _=q8(v.type);_&&(c.current=v.type,s(_),f(150,()=>{C.src=_,C.load();const k=t.current;k&&!k.paused&&C.addEventListener("canplay",function w(){C.removeEventListener("canplay",w);const A=t.current;A&&!A.paused&&!A.ended&&g(y)})}))}else{const _=t.current,k=!!_&&!_.paused&&!_.ended;if(k&&C.paused&&C.src)g(y);else if(!C.paused)if(!k)f();else{p();const w=C.volume,A=performance.now(),T=()=>{const S=Math.min(1,(performance.now()-A)/150);try{C.volume=w+(y-w)*S}catch{}S<1?u.current=requestAnimationFrame(T):u.current=null};u.current=requestAnimationFrame(T)}}},[e?.settings,e?.settings.enabled,b,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 Z8({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),f=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const x=(y,_=1)=>{try{const k=(y||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(y||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},v=l.useCallback(y=>{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=y??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=x(w,A.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const T=m.current;T?.enabled&&(T?.volume??0)>0&&d(T.volume);const S=()=>{try{const D=g.current||performance.now(),H=performance.now()-D,R=f.current||1200,E=Math.min(1,H/R);i(E);try{r.current&&(r.current.style.left=`${E*100}%`),n.current&&n.current.style.setProperty("--progress",String(E))}catch{}E<1&&(b.current=requestAnimationFrame(S))}catch{}};A.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},A.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(S)}catch{}};try{_.speak(A)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,d,r,n,i,s,c,m,h,p]),C=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),u(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:v,stopTTS:C}}var X8='.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%}';te(X8);async function J8(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,d=Math.max(t,c),u=Math.floor(d/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*u,f=Math.min(g+u,d);let b=0;for(let x=g;x<f;x++){const v=Math.abs(s[x]);v>b&&(b=v)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Mb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await J8(r,t,a)}catch(r){try{const n=Kr(r)}catch{}return null}}const $b=4;function Q8(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseVolume:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(null),[x,v]=l.useState(!1),[C,y]=l.useState(null),[_,k]=l.useState(2),[w,A]=l.useState(0),[T,S]=l.useState(null),[D,H]=l.useState(!1),R=3,E=3,$=1,B=300,F=l.useRef(0),J=l.useCallback(async(ie,de)=>{const fe=++F.current,xe=()=>F.current===fe;try{if(v(!1),!ie){xe()&&b(null);return}let me=de;if(!me)try{for(let je=0;je<4&&!(p.current||g.current);je++)await new Promise(He=>requestAnimationFrame(He));await new Promise(je=>requestAnimationFrame(je));const Y=p.current,re=g&&g.current?g.current:Y?Y.closest(".audio-player__wave"):null,we=re?re.getBoundingClientRect():Y?Y.getBoundingClientRect():null,ce=we?Math.max(100,we.width):320,z=we?we.height:0;z>0&&A(z),me=Math.max($,Math.min(B,Math.floor((ce+E)/(R+E))));const X=me*R,Z=Math.max(0,me-1),be=Z>0?(ce-X)/Z:E;k(Math.max(0,be))}catch{me=120}const M=await Mb(ie,me);if(!xe())return;if(!M){b(null),v(!1);return}b(M),y(me),v(!0)}catch{if(!xe())return;b(null),v(!1)}},[v,b,A,k,y]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;J(typeof ie=="string"?ie:void 0).catch(()=>{}),H(!1)},[t,a,J]),l.useEffect(()=>{let ie=!1;if(!i||!C){S(null);return}const de=d>0?d*(c||1):void 0;return Mb(i,C,de).then(fe=>{ie||S(fe)}).catch(()=>{ie||S(null)}),()=>{ie=!0}},[i,C,d,c]);const Q=Math.max(0,Math.min(1,u)),ae=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),N=C||40,L=l.useMemo(()=>Array.from({length:N}).map((ie,de)=>{const fe=f&&f[de]!=null?f[de]:null,xe=fe==null?null:Math.min(1,fe/ae*Q),me=xe!=null&&w>0&&xe*w<=$b,M=xe==null?.15:me?0:xe,Y=N>1?de/(N-1):0;return o.jsx("div",{className:me?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":de,"--mix":Y}},de)}),[N,f,ae,Q,w]),P={"--progress":String(Math.max(0,Math.min(1,r)))},V={"--bar-gap":`${_}px`},W=Math.max(0,Math.min(1,s)),ee=x&&(i?!!T:!0);l.useEffect(()=>{ee&&H(!0)},[ee]);const I=D?x:ee;l.useEffect(()=>{m?.(I)},[I,m]);const q=C||40,O=l.useMemo(()=>Array.from({length:q}).map((ie,de)=>{const fe=T&&T[de]!=null?T[de]:null,xe=fe==null?0:Math.min(1,fe/ae*W),me=w>0&&xe*w<=$b,M=me?0:xe,Y=q>1?de/(q-1):0;return o.jsx("div",{className:me?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":de,"--mix":Y}},de)}),[q,T,ae,W,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:V,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${ee?"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 e7={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 _c(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 t7=2e3;function Rb(e,t=t7){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 a7({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 o7(){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 r7({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 n7({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 i7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function s7({ended:e,completedByEnd:t}){return!!e||!!t}function l7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function c7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function d7(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 u7({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=n7({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 Ar({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}=he.useTranslation(),m=e,h=vc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null),x=o7(),v=l.useRef(null),C=l.useRef(!1),y=l.useRef(0),_=l.useRef(null),{ref:k,rect:w,show:A,hide:T}=r7();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[S,D]=l.useState(!1),[H,R]=l.useState("idle"),[E,$]=l.useState("stopped"),B=l.useRef("stopped");l.useEffect(()=>{B.current=E},[E]);const[F,J]=l.useState(0),[Q,ae]=l.useState("active"),[N,L]=l.useState(null),[P,V]=l.useState(null),[W,ee]=l.useState(0),[I,q]=l.useState(!1),[O,ie]=l.useState(0),de=h?.playbackRate??1,fe=h?.mainVolume??1,xe=h?bc(h.settings):0,[me,M]=l.useState("idle"),[Y,re]=l.useState(""),[we]=l.useState("top"),ce=l.useRef(null),z=l.useRef(0),X=l.useRef(null),{start:Z,stop:be,settleTo:je}=u7({audioRef:g,fillRef:f,waveProgressRef:X,sourcesRef:ce,currentIndexRef:z}),{onReadyChange:He,waitForReady:Le,markNotReady:Te}=a7({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=l.useRef(null),Se=l.useRef(n),Ve=l.useRef(r),qe=l.useRef(null),_e=l.useRef(!1),[Oe,Re]=l.useState(!1),Ge=l.useCallback(G=>{_e.current=G,Re(G)},[]),Xe=l.useRef(null),{activeNoiseUrl:et,noiseSettingsRef:Ie,fadeInNoise:xt,fadeOutNoise:nt}=K8({noisePlayer:h,audioRef:g,playbackStateRef:B}),{startTTS:Je,stopTTS:st}=Z8({ttsText:i,playbackRate:de,mainVolume:fe,fillRef:f,waveProgressRef:X,setProgress:J,setPlaybackState:$,setStateLocal:ae,fadeInNoise:xt,fadeOutNoise:nt,noiseSettingsRef:Ie,onDoneRef:Ve,handleEndRef:Xe}),Pe=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Me=(!Pe||Pe.length===0)&&!!i,lt=Array.isArray(N)&&N.length>0?N:Array.isArray(P)&&P.length>0?P:null,_t=Math.max(Array.isArray(lt)?lt.length:0,Pe.length),Ye=l.useCallback(async(G,oe=3,ve=50)=>{for(let ye=0;ye<oe;ye++)try{return await G.play(),!0}catch(Be){if((Be instanceof Error||typeof Be=="object"&&Be&&"name"in Be?Be.name:void 0)==="AbortError"){await new Promise(Ne=>setTimeout(Ne,ve));continue}try{re(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{re(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),ct=l.useCallback(()=>{const G=g.current;if(!G)return;const oe=()=>{$("playing"),ae("playMode"),q(!0),Z();try{Wo(),p.current?.("main",Go(G))}catch{}const Be=Ie.current;Be?.enabled&&(Be?.volume??0)>0&&xt(Be.volume)},ve=()=>{s7({ended:!!G?.ended,completedByEnd:_e.current})||($("paused"),be(),nt())},ye=()=>{try{const Be=ce.current,Ne=i7(Be,z.current);if(Ne!==null){z.current=Ne,ee(Ne),q(!0);const pt=Be?.[Ne]&&Be[Ne].src;if(pt&&G){G.src=pt,G.load(),Ye(G).catch(()=>{});return}}}catch{}$("stopped"),J(1);try{if(G)try{G.currentTime=0}catch{}}catch{}be(),q(!1),nt();try{!Se.current&&Xe.current&&Xe.current()}catch{}};return G.addEventListener("play",oe),G.addEventListener("pause",ve),G.addEventListener("ended",ye),()=>{try{G.removeEventListener("play",oe),G.removeEventListener("pause",ve),G.removeEventListener("ended",ye),be()}catch{}}},[xt,nt,Ye,Ie,Z,be]);l.useEffect(()=>ct(),[ct]),l.useEffect(()=>{Se.current=n},[n]),l.useEffect(()=>{Ve.current=r},[r]),l.useEffect(()=>{if(n||Q!=="active")return;const G=_.current;if(!G)return;let oe=null;const ve=requestAnimationFrame(()=>{try{const ye=G.getTotalLength();if(!ye)return;const Be=ye*.2;G.style.strokeDasharray=`${ye-Be} ${Be}`;const Ne="triFlow_"+Math.random().toString(36).slice(2);oe=document.createElement("style"),oe.textContent=`@keyframes ${Ne}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ye}}}`,document.head.appendChild(oe),G.style.animation=`${Ne} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ve),oe?.remove()}},[Q,n]),l.useEffect(()=>{ce.current=N},[N]),l.useEffect(()=>{z.current=W},[W]),l.useEffect(()=>{const G=b.current,oe=v.current;if(!G||!oe)return;let ve=null;const ye=32,Be=60,Ne=()=>{try{const ue=Array.from(G.querySelectorAll(":scope > .button"));let ke=0;ue.forEach(ca=>{if(ca===oe)return;const co=ca.getBoundingClientRect();ke+=co.width});const Ke=G.getBoundingClientRect().width,ht=Math.max(0,Math.floor(Ke-ke-8)),ft=_t;if(!ft||ht<=0){Array.from(oe.children).forEach(ca=>{try{ca.style.width=""}catch{}});return}let Vt=Math.floor(ht/ft);Vt>Be&&(Vt=Be),Vt<ye&&(Vt=Math.max(ye,Math.floor(ht/ft))),Array.from(oe.querySelectorAll(".button")).forEach(ca=>{try{ca.style.width=`${Vt}px`}catch{}})}catch{}},pt=requestAnimationFrame(Ne);try{ve=new ResizeObserver(()=>{requestAnimationFrame(Ne)}),ve.observe(G),ve.observe(oe),window.addEventListener("resize",Ne)}catch{}return()=>{try{cancelAnimationFrame(pt)}catch{}try{ve&&(ve.disconnect(),ve=null)}catch{}try{window.removeEventListener("resize",Ne)}catch{}}},[N,P,_t]),l.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),qe.current&&(clearTimeout(qe.current),qe.current=null)}catch{}},[]);const Ct=(G,oe)=>{L(G),ie(oe),Te(),V(l7(G)),ce.current=G},Yt=async(G,oe)=>{Ge(!1),C.current=!1,G.src=oe,G.load(),await Rb(G),await Le(),D(!1),await Ye(G),ae("playMode"),ee(0),q(!0)},at=async(G,oe=!1)=>{const ve=g.current;D(!0),R("measuring_duration");try{const ye=await _c(G,{timeoutMs:1e4,rejectOnError:!0});Ct([{src:G,objectUrl:null,duration:ye}],ye),R("ready"),oe&&ve&&await Yt(ve,G)}finally{C.current=!1,D(!1)}},Et=async(G,oe=!1)=>{const ve=g.current;D(!0),R("measuring_duration");try{const ye=await Promise.all(G.map(Ne=>_c(Ne,{timeoutMs:1e4}))),Be=G.map((Ne,pt)=>({src:Ne,objectUrl:null,duration:ye[pt]||0}));Ct(Be,c7(Be)),R("ready"),oe&&ve&&Be.length>0&&await Yt(ve,Be[0].src)}finally{C.current=!1,D(!1)}},Ft=async(G=!1,oe=!0)=>{const ve=g.current,ye=t?Array.isArray(t)?t:[t]:[];if(!(!ye||ye.length===0||!ye.some(Boolean))&&!C.current){C.current=!0,oe&&D(!0),R("resolving");try{const Be=d7(t,a,Tr),Ne=[];let pt=0;for(const ue of Be){let ke=ue.src??null,Ke=null;if(!ke&&ue.resolvedPath){try{R("getting_signed_url"),ke=await Fo(ue.resolvedPath)}catch{ke=null}if(!ke)try{R("downloading");const ft=await Lr(ue.resolvedPath);if(ft){const Vt=ft instanceof Blob?ft:new Blob([ft]);Ke=x.track(URL.createObjectURL(Vt)),ke=Ke}}catch{R("error");try{re(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),ae("active")}catch{}}}if(!ke)continue;let ht=0;try{R("measuring_duration"),ht=await _c(ke,{timeoutMs:3e3})}catch{ht=0}pt+=ht||0,Ne.push({...ue,src:ke,objectUrl:Ke,duration:ht})}if(Ct(Ne,pt),Ne.length>0&&G&&ve){const ue=Ne[0];Ge(!1);try{x.keepOnly(Ne.map(ke=>ke.objectUrl))}catch{}if(R("ready"),C.current=!1,ue.src&&ve)try{ve.src=ue.src,ve.load(),await Rb(ve),await Le(),oe&&D(!1),ve&&await Ye(ve)}catch{oe&&D(!1)}else oe&&D(!1);ae("playMode"),ee(0),q(!0)}}finally{C.current=!1,oe&&D(!1),R(Be=>Be==="ready"?"ready":"idle")}}},ra=async()=>{const G=g.current;if(!(!G&&!Me)){if(Me){const oe=window.speechSynthesis;if(Q==="active"){const ve=Ho(),ye=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ve&&ye.length>0){ae("load"),D(!0),R("resolving"),C.current=!0;try{const Be=await Promise.all(ye.map(Ne=>Promise.resolve(ve(Ne))));Be.length>1?await Et(Be,!0):await at(Be[0],!0)}catch{C.current=!1,D(!1),ae("active"),Je(ye[0]||void 0)}return}Je(ye[0]||void 0);return}if(Q==="playMode"){if(G){if(G.paused){if(_e.current){await na();return}await Ye(G),$("playing")}else G.pause(),$("paused");return}try{if(oe&&oe.paused)try{oe.resume(),$("playing")}catch{}else try{oe.pause(),$("paused")}catch{}}catch{}}return}if(Q==="active"){if(n&&Array.isArray(ce.current)&&ce.current.length>0){const oe=ce.current[0];try{if(oe.src&&G)try{G.src=oe.src,G.load(),G&&await Ye(G)}catch{}ae("playMode"),ee(0),q(!0);return}catch{}}ae("load"),await Ft(!0);return}if(Q!=="load"&&(Q==="playMode"||Q==="active"))try{if(G&&G.paused){if(_e.current){await na();return}G&&await Ye(G),$("playing")}else G&&(G.pause(),$("paused"))}catch(oe){(oe instanceof Error||typeof oe=="object"&&oe&&"name"in oe)&&oe.name}}},na=async()=>{const G=g.current;if(G)try{const oe=ce.current;if(Array.isArray(oe)&&oe.length>1){await ya(0);return}Ge(!1);try{G.currentTime=0}catch{}G&&await Ye(G),$("playing"),ae("playMode")}catch{}},Ca=()=>{if(Me){st();return}const G=g.current;try{if(G){try{G.pause()}catch{}try{G.currentTime=0}catch{}}}catch{}nt(),$("stopped"),ae("active"),J(0),q(!1)},qt=async(G,{sameSegment:oe=!1}={})=>{const ve=++y.current,ye=g.current,Be=ce.current?.[G]?.src;try{if(Ge(!1),ee(G),q(!0),z.current=G,!Be||!ye||(oe||Te(),ye.src=Be,ye.load(),oe||await Le(),ve!==y.current)||(await Ye(ye),ve!==y.current))return;$("playing"),ae("playMode")}catch{}},Ma=async()=>{const G=ce.current,oe=z.current||0;if(!G||oe<=0){await na();return}await qt(oe-1)},Tt=async()=>{const G=ce.current,oe=z.current||0;if(!G||oe>=G.length-1){Ca();return}await qt(oe+1)},$a=()=>{if(_e.current)return;const G=200,oe=340;Ge(!0);try{J(1)}catch{}je(1);try{M("hold")}catch{}try{const ve=g.current,ye=Me&&!!ve?.src;if(!Me||ye){if(ve){ve.pause();try{ve.currentTime=0}catch{}}}else st();nt()}catch{}try{$("stopped")}catch{}if(q(!1),!Se.current)try{qe.current&&(clearTimeout(qe.current),qe.current=null),qe.current=setTimeout(()=>{try{M("out")}catch{}qe.current=setTimeout(()=>{try{typeof Ve.current=="function"&&Ve.current(!0)}catch{}try{M("idle")}catch{}qe.current=null},oe)},G)}catch{}};l.useEffect(()=>{Xe.current=$a});const Rt=l.useCallback(()=>re(""),[]),ya=async G=>{(ce.current||[])[G]&&await qt(G,{sameSegment:G===z.current})},wa=E==="playing",Qe=l.useMemo(()=>{if(!P||P.length<=1)return P;const G=P[W];return G?[G]:P},[P,W]),Ht=n===!0;l.useEffect(()=>{try{const G=g.current;G&&typeof G.playbackRate=="number"&&(G.playbackRate=de||1)}catch{}},[de]),l.useEffect(()=>{try{const G=g.current;G&&(G.volume=Math.max(0,Math.min(1,fe)))}catch{}},[fe]);const Dt=me==="hold",Kt=me==="out",ia=Q==="playMode"&&!S&&!Oe||Dt||Kt,sa=E!=="stopped"||Dt||Kt,la=E==="paused",le=Math.max(0,Math.min(100,(F||0)*100)),ge=Ce("audio-player__fill",ia?"is-visible":"",sa?"is-expanded":"",la?"is-paused":"",Kt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Ht?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${wa?"is-playing":""} ${S?"is-loading":""} ${Q!=="default"?"is-revealed":""}`,children:[S?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:e7[H]})]}):null,Q==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{T(),ra()},"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(ga,{anchorRect:w,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${Q==="playMode"||wa?"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:Ma,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:wa?"pause":"play",onClick:ra,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ca,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),_t>1?o.jsx("div",{ref:v,className:"audio-player__source-buttons",children:Array.from({length:_t}).map((G,oe)=>o.jsx(ne,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(oe+1),onClick:()=>{try{ya(oe)}catch{}},ariaLabel:u("training.sourcePlay",{n:oe+1}),variant:"transparent-white",selected:I&&W===oe,disabled:Q!=="playMode"||!(Array.isArray(N)&&N[oe]),showTooltipInfo:!0},oe))}):null,!Array.isArray(N)||N.length<=1?o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:na,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}):null,o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Tt,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:$a,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:ge,ref:f,style:{left:`${le}%`},"aria-hidden":"true"}),(c||d)&&o.jsx(Q8,{segments:Qe,progress:F,totalDuration:O,onSegmentClick:ya,waveProgressRef:X,showSoundWaveForm:c,noiseSrc:d&&h?.settings.enabled&&xe>0?et:null,noiseVolume:xe,noiseSpeed:h?.settings.speed??1,mainVolume:fe,onReadyChange:He})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(Fe,{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(no,{message:Y,position:we,onClose:Rt})]})}var p7=".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)}";te(p7);function Eo(e){const{t}=he.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[d,u]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}=cn({storageKey:"tooltip-fontScale"}),x=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),v=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],y={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:y,children:C.map((k,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[C.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children: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:x,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:v,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Na,{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 h7=".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}";te(h7);var m7='.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}}';te(m7);function Cc({state:e="disabled"}){const{t}=he.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(Fe,{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 b7=".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)}";te(b7);function yc({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}=he.useTranslation(),p=ta("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[x,v]=l.useState(!1),[C,y]=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(()=>{v(!1),y(null),k(null)},[]);l.useEffect(()=>{if(!x)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){v(H=>!H);return}if(x)v(!1),y(null),k(null);else{const H=b.current.getBoundingClientRect();y(H),v(!0)}}},[i,s,x]);return o.jsxs("div",{className:f,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[d&&o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:x,onClick:S,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),x&&o.jsx(Eo,{text:_??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:T,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function wc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Ka({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}=he.useTranslation(),[m,h]=l.useState(()=>wc(e,t));l.useEffect(()=>{const k=wc(e,t);if(k!==m){const w=setTimeout(()=>h(k),0);return()=>clearTimeout(w)}},[e,t,m]);const p=l.useCallback((...k)=>{wc(e,t)==="done"||m==="done"||typeof c=="function"&&c(...k)},[e,t,m,c]),[g,f]=l.useState(!1),[b,x]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),v=l.useCallback(k=>{if(!k)return null;try{const 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}},[]),C=l.useCallback((k,{text:w="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:T=!1,alignX:S="center",alignY:D="top"}={})=>{const H=v(k);x({text:w,label:A,anchorRect:H,backdrop:T,alignX:S,alignY:D}),f(!0)},[v]),y=l.useCallback(()=>{f(!1),x(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:C,hideTooltip:y})}return k});return o.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${s}`,"aria-current":m==="active",children:[o.jsx(Cc,{state:m}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(yc,{state:m,title:r,...n,useFaded:d}),_]}),g?o.jsx(Na,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:y,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(Eo,{text:b.text,onClose:y})}):null]})}var g7='.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)}';te(g7);function kc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=he.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const d=()=>c(S=>S==="dark"?"light":"dark"),{increase:u,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:f}=cn({storageKey:"textbox_fontScale"}),[b,x]=l.useState(""),v=l.useCallback(()=>i("active"),[]),C=l.useCallback(()=>x(""),[]),y=S=>{try{x(S)}catch{}},_=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const S=setTimeout(()=>i(t),0);return()=>clearTimeout(S)}},[t]);const k=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const S=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(S)},[k]);const 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:v,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":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:()=>y(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:()=>y(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(no,{message:b,position:"top",onClose:C})]})}function Rn({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:b}=he.useTranslation(),x=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),v=typeof e=="number"?e:-1,C=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",y=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(y)?f?We(y):y.slice():void 0);l.useEffect(()=>{Array.isArray(y)&&y.length?A(f?We(y):y.slice()):A(void 0)},[c,_,k,f]);const[T,S]=l.useState(null),[D,H]=l.useState(()=>new Set);l.useEffect(()=>{S(null),H(new Set)},[k]);const R=l.useRef(void 0);l.useEffect(()=>{const B=R.current;typeof B=="number"&&typeof t=="number"&&typeof e=="number"&&B>=e&&t<e&&(S(null),H(new Set)),R.current=t},[t,e]);const E=l.useCallback(B=>{if(C!=="active")return;const F=w?.[B];if(F==null)return;const J=F,Q=C==="active"||C==="done";if(m){const ae=new Set(D),N=ae.has(J);N?ae.delete(J):ae.add(J),H(ae),typeof s=="function"&&s({selectedValues:[...ae],__ts:Date.now()}),Q&&(typeof h=="number"&&h>0?ae.size>=h:!N)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...ae],__ts:Date.now()})}else S(J),typeof s=="function"&&s({selectedIndex:B,selectedValue:J,__ts:Date.now()}),Q&&typeof i=="function"&&C==="active"&&i({selectedIndex:B,selectedValue:J,__ts:Date.now()})},[w,C,m,s,i,h,D]),$=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:x,useTitleFaded:n,children:o.jsx("div",{className:$,children:Array.isArray(w)&&w.length>0?w.map((B,F)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>E(F),ariaLabel:String(B),label:B,useLabel:!0,icon:g?g[String(B)]:void 0,variant:"default",disabled:C==="disabled",selected:m?D.has(B):T===B,useDisabledCovered:p,minWidth:0},String(B))):null})})}function Pn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=he.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 y=setTimeout(()=>b(null),0);return()=>clearTimeout(y)}},[p,c,f]);const x=l.useCallback(y=>{const _=typeof y=="object"&&y!==null?Object.assign({},y,{__ts:Date.now()}):{value:y,__ts:Date.now()};typeof i=="function"&&i(_),h==="active"&&typeof n=="function"&&n(_)},[i,h,n]),v=l.useCallback(()=>{h==="active"&&(b(!1),x(!1))},[x,h]),C=l.useCallback(()=>{h==="active"&&(b(!0),x(!0))},[x,h]);return o.jsxs(Ka,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[o.jsx(kc,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((y,_)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(_),x&&x(_))},disabled:h==="disabled",ariaLabel:String(y),label:y,variant:h,selected:f===_},_)):o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:56,type:"bar",onClick:v,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),o.jsx(ne,{size:56,type:"bar",onClick:C,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function zn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:b}=he.useTranslation(),x=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),v=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:x,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(Ar,{soundSrc:s,ttsText:s?null:u??x,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:v,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var f7=".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%}";te(f7);var v7=".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}";te(v7);function In({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=he.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=(V=>{const W=(V||[]).map((O,ie)=>({id:ie,text:u(O)}));if(W.length<=1)return W;const ee=(O,ie)=>{if(O.length!==ie.length)return!1;for(let de=0;de<O.length;de++)if(O[de].text!==ie[de].text)return!1;return!0};let I=We(W),q=0;for(;ee(I,W)&&q<20;)I=We(W),q+=1;return I})(L);g(P);try{if(typeof i=="function"){const V=P.filter((W,ee)=>W.text===u(L[ee])).length;i({shuffled:P,score:V,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const V=P.filter((W,ee)=>W.text===u(L[ee])).length;n({shuffled:P,score:V,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,P)=>{const V=[...p],W=L+P;if(W<0||W>=V.length)return;const ee=V[W];V[W]=V[L],V[L]=ee,$(V);try{if(typeof n=="function"&&f==="active"){const I=V.filter((q,O)=>q.text===u(m[O])).length;n({shuffled:V,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[x,v]=l.useState(null),C=l.useRef(null),y=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,V=S.current||{dx:0,dy:0};C.current&&(C.current.style.transform=`translate3d(${P.x-V.dx}px, ${P.y-V.dy}px, 0)`)};T.current=requestAnimationFrame(L)},H=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return H.current.forEach((P,V)=>{P&&P.getBoundingClientRect&&L.set(V,P.getBoundingClientRect())}),L},$=L=>{const P=E();g(L);try{if(typeof i=="function"){const V=L.filter((W,ee)=>W.text===u(m[ee])).length;i({shuffled:L,score:V,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const V=E();L.forEach(W=>{const ee=P.get(W.id),I=V.get(W.id),q=H.current.get(W.id);if(!q||!ee||!I)return;const O=ee.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 V=document.createElement("div");V.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(V),P.dataTransfer?.setDragImage(V,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(V)}catch{}})}catch{}}catch{}v(L);try{const V=p[L],W=document.createElement("div");W.className="order-list__dragging-object order-list__dragging-object--visible",W.textContent=V&&V.text?V.text:"",document.body.appendChild(W),C.current=W;const ee=H.current.get(V.id);let I=P.clientX||0,q=P.clientY||0;try{if(ee&&ee.getBoundingClientRect){const me=ee.getBoundingClientRect();I=me.left+me.width/2,q=me.top+me.height/2}}catch{}const O=W.getBoundingClientRect(),ie=O.width/2,de=O.height/2;S.current={dx:ie,dy:de},W.style.transition="none",A.current={x:I,y:q},W.style.transform=`translate3d(${I-ie}px, ${q-de}px, 0)`,requestAnimationFrame(()=>{try{W.style.transition=""}catch{}D()});const fe=me=>{const M=me;A.current={x:M.clientX,y:M.clientY},D()};_.current=fe,document.addEventListener("mousemove",fe);const xe=me=>{const M=me;A.current={x:M.clientX,y:M.clientY},D()};y.current=xe,document.addEventListener("dragover",xe);try{P.dataTransfer?.setData("text/plain",String(L));try{P.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},F=(L,P)=>{P.preventDefault();try{P.dataTransfer&&(P.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const V=P.currentTarget&&P.currentTarget.closest?P.currentTarget.closest(".order-list__item"):null;if(V&&k.current!==V){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{V.classList.add("drag-over")}catch{}k.current=V}}catch{}},J=(L,P)=>{P.preventDefault();const V=P.dataTransfer?.getData("text/plain")||"",W=V?parseInt(V,10):x,ee=L;if(typeof W!="number"||isNaN(W)||W===ee){v(null),N(),Q();return}const I=Vi(p,W,ee);$(I),v(null),Q();try{if(typeof n=="function"&&f==="active"){const q=I.filter((O,ie)=>O.text===u(m[ie])).length;n({shuffled:I,score:q,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const q=document.querySelectorAll(".order-list .order-list__item")[ee];if(!q)return;const O=q.querySelector(".order-list__slot")||q;try{O.classList.add("pulse"),O.offsetHeight,O.classList.add("to-dark");const ie=()=>{O.classList.remove("pulse","to-dark"),O.removeEventListener("transitionend",ie)};O.addEventListener("transitionend",ie)}catch{}})}catch{}N()},Q=()=>{if(C.current){try{document.body.removeChild(C.current)}catch{}C.current=null}y.current&&(document.removeEventListener("dragover",y.current),y.current=null),_.current&&(document.removeEventListener("mousemove",_.current),_.current=null),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null)},ae=()=>{v(null),N(),Q()};l.useEffect(()=>()=>Q(),[]);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,V)=>{const W=R.current.get(P.id);if(!W)return;let ee=50;L>1&&(ee=Math.round(V/(L-1)*100));try{W.style.setProperty("--marker-pos",ee+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{Q(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,P)=>{const V=Math.max(1,(p||[]).length),W=V>1?Math.round(P/(V-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:ee=>{const I=R.current;ee?I.set(L.id,ee):I.delete(L.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:P+1})}):null,o.jsxs("div",{ref:ee=>{const I=H.current;ee?I.set(L.id,ee):I.delete(L.id)},className:`order-list__draggable ${x===P?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?ee=>B(P,ee):void 0,onDragEnter:f==="active"?ee=>F(P,ee):void 0,onDragOver:f==="active"?ee=>F(P,ee):void 0,onDragLeave:f==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{try{const ee=document.querySelectorAll(".order-list .order-list__item");ee&&ee[P]&&(ee[P].classList.remove("drag-over"),k.current===ee[P]&&(k.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?ee=>J(P,ee):void 0,onDragEnd:f==="active"?ae: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 x7="";te(x7);const _7=8e3;function C7(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function Ac({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}=he.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),f=m??3,b=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const x=typeof e=="number"?e:-1,v=typeof t!="number"?"disabled":x<t?"done":x===t?"active":"disabled",[C,y]=l.useState(null),_=l.useRef([]),[k,w]=l.useState(!1),A=l.useMemo(()=>g.map(H=>H?.id??H?.word??"").join("|"),[g]);l.useEffect(()=>{y(null),_.current=[]},[A]);const T=l.useCallback((H,R)=>{if(c)return;const E={item:H,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,v,n]),S=l.useCallback(async()=>{if(!(k||v==="disabled")){w(!0);try{for(const H of _.current)H&&await C7(H.play(),_7)}finally{w(!1)}}},[k,v]),D=l.useCallback((H,R)=>{if(v!=="active")return;y(R);const E={selectedValue:H.word||H.title||"",selectedIndex:R,item:H,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[i,v,n]);return o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!u&&b.length>0,onPlayAll:S,playAllActive:k},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((H,R)=>o.jsx(Nn,{ref:E=>{_.current[R]=E},item:H,disabled:v==="disabled",onPlayDone:()=>T(H,R),selectable:c,selected:c&&C===R,onSelect:c?()=>D(H,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},H&&H.id||R))})})}const y7=160;var w7=".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}}";te(w7);const Pb=()=>{};function Ta(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:x,onClick:v,children:C,align:y="horizontal",icon:_}=e,k=w=>{v&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),v())};return o.jsxs("div",{className:Ce("panel-row",y==="vertical"?"panel-row--vertical":"",v?"panel-row--clickable":""),onClick:v,onKeyDown:v?k:void 0,role:v?"button":void 0,tabIndex:v?0:void 0,children:[_!=null&&o.jsx("div",{className:"panel-row__icon",children:_}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),x&&o.jsx("div",{className:"panel-row__sub caption-1",children:x})]}),o.jsx("div",{className:"panel-row__right",children:C})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(No,{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(Ya,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,x=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((v,C)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:v.options,value:v.value,onChange:v.onChange,placeholder:v.placeholder,block:u,error:!!c,ariaLabel:v.ariaLabel??([r,v.placeholder].filter(Boolean).join(" ")||void 0)})},C))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Pb,block:u,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[x,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):x}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((x,v)=>o.jsx(ne,{size:x.btnSize??40,variant:x.btnVariant??"default",disabled:x.disabled,onClick:x.onClick,children:x.label},v))}):h=o.jsx(ne,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[o.jsx(Ua,{value:b.value,onChange:b.onChange??Pb,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:Ce("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 zb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Ib({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=he.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(ut,{size:"small",variant:Nm(i.device),fill:"soft",label:i.device}),zb(i)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:zb(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 Sr({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,useBorder:u=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:f,empty:b,children:x}){const v=Ce("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",u?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),C={};return i!==void 0&&(C.minHeight=i),s!==void 0&&(C.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(C["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:v,style:Object.keys(C).length?C:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:Ce("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(Fe,{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(Ta,{variant:"loading"}):b!=null&&(x==null||Array.isArray(x)&&x.length===0)?o.jsx(Ta,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:x}):x]})}function Ob({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function k7(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 Fb(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"}]}k7(ka.t.bind(ka)),Fb(ka.t.bind(ka));var A7='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:16px 20px 20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';te(A7);const Sc="none",S7=.5,B7=1.5,N7=.25;function Bc({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:d}){return o.jsxs(Ta,{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 Nc({anchorRect:e,onClose:t}){const{t:a}=he.useTranslation(),r=ta("(max-width: 767px)")?40:24,n=vc(),i=mc(n?.settings??fc),s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=n?.playbackRate??1,u=n?.mainVolume??1,m=Math.round(u*100),h=l.useCallback(b=>{try{n?.setMainVolume(Math.max(0,Math.min(1,b/100)))}catch{}},[n]),p=l.useCallback(b=>{try{n?.setPlaybackRate(b)}catch{}},[n]),g=l.useCallback(b=>{const x=Math.min(hc,Math.max(0,Math.round(b*10)/10));try{n?.setSettings({noiseRatio:x})}catch{}},[n]),f=l.useCallback(b=>{try{b===Sc?n?.setSettings({enabled:!1}):n?.setSettings({type:b,enabled:!0})}catch{}},[n]);return o.jsx(Na,{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(Sr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(Bc,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${m}%`,value:m,min:0,max:100,step:10,size:r,onChange:h}),o.jsx(Bc,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:S7,max:B7,step:N7,size:r,onChange:p}),o.jsx(Ta,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Ya,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Sc,label:a("training.noise.type.none","\uC5C6\uC74C")},...Fb(a).map(b=>({key:b.value,label:b.label}))],value:c?s:Sc,onChange:f})}),o.jsx(Bc,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:hc,step:U8,size:r,onChange:g})]})})}var D7=".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}";te(D7);function Dc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=he.useTranslation(),[u,m]=l.useState(!1),[h,p]=l.useState(null),[g,f]=l.useState(!1),b=l.useRef(null),x=l.useRef(null),v=vc(),C=s<c-1,y=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=x?.current?.getBoundingClientRect();S&&p(S),t?.(),m(!0)},[u,t]),T=l.useCallback(()=>f(S=>!S),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"bar",icon:"settings",onClick: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:x,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"dot",icon:"settings",onClick:A,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(ne,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:T,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(kn,{analyser:v?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),o.jsx(kn,{analyser:v?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[y&&o.jsx(ne,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!_}),C&&o.jsx(ne,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!_})]}),e&&u&&o.jsx(Nc,{anchorRect:h,onClose:k})]})}var j7=".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}}";te(j7);function jc({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}=he.useTranslation(),f=ta("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,x=Number.isInteger(u)?u:d||0,v=h||p,C=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,y=typeof e=="string"?e.trim():e,_=typeof t=="string"?t.trim():t,k=!!(y||_),w=k?y||_:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=C||t,T=f&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,S=l.useMemo(()=>{const D=i&&typeof i=="object"?{...i}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[v?o.jsx(ne,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:v,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Lm,{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,x??0),index:Math.max(0,b??0)})]})}function Hb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Vb(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 Ec(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 Wb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Gb({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=Ec(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 Ub(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Yb(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 qb(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 Tc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Kb(e,t,a,r){return Tc(e,t*a+r)}function Zb({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 Xb(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 Jb=l.createContext(null);function E7(){const e=l.useContext(Jb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function T7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[u,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=l.useCallback(f=>{d==="active"&&m(b=>{const x=[...b];if(x[f]!==null){const C=x[f];return x.map(y=>y!==null&&y>=C?null:y)}x[f]=p;const v={selectedOrder:x,words:n,__ts:Date.now()};try{typeof s=="function"&&s(v)}catch{}if(x.every(C=>C!==null))try{typeof i=="function"&&i(v)}catch{}return x})},[d,p,s,i,n]);return o.jsx(Ka,{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 Br(e){return null}Br.__isTrainingPage=!0;function To(e,t){const a=E7();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 Lc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=To(e,t);return o.jsx(zn,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function Mc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(Rn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function $c({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(Pn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Rc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(In,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Pc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(Ac,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function L7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(T7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var M7=`.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 W8='.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}}';te(W8);function Nb({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 G8=".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}}";te(G8);function Db({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,...Em(a),children:[o.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const jb=9,hc=2,U8=.1,Eb=e=>Math.min(hc,Math.max(0,e)),Y8=e=>Math.round(e*10)/10;function mc(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return Eb(t);const a=Math.min(jb,Math.max(0,Number(e.level)||0))/jb,r=Number(e.mainVolume);return r>0?Y8(Eb(a/r)):1}function bc(e){const t=Math.min(1,Math.max(0,Number(e.mainVolume)||0));return Math.min(1,t*mc(e))}function gc(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=mc({level:a.level,mainVolume:a.mainVolume})),a}const fc={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Tb=l.createContext(null);function vc(){return l.useContext(Tb)}const xc=e=>`${ii()}/${e}`,Lb=e=>Array.from({length:10},(t,a)=>xc(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),$n={get defaultNoise(){return xc("noise1.mp3")},get street(){return Lb("noise2")},get restaurant(){return Lb("noise3")},get buzz(){return xc("noise4.mp3")}};function q8(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 K8({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,C=250)=>{const y=n.current;if(!y||!y.src)return;m.current+=1,p();try{Wo(),r.current?.("noise",Go(y))}catch{}const _=y.paused?0:y.volume;y.paused&&(y.volume=0),y.play().catch(()=>{});const k=performance.now(),w=()=>{const A=Math.min(1,(performance.now()-k)/C);try{y.volume=Math.max(0,Math.min(1,_+(v-_)*A))}catch{}A<1?u.current=requestAnimationFrame(w):u.current=null};u.current=requestAnimationFrame(w)},[p]),f=l.useCallback((v=250,C)=>{const y=n.current;if(!y||y.paused){C?.();return}const _=++m.current;p();const k=performance.now(),w=y.volume,A=()=>{const T=Math.min(1,(performance.now()-k)/v);try{y.volume=Math.max(0,w*(1-T))}catch{}if(T<1)u.current=requestAnimationFrame(A);else{u.current=null,h.current!==null&&(clearTimeout(h.current),h.current=null);try{y.pause()}catch{}C?.()}};u.current=requestAnimationFrame(A),h.current=setTimeout(()=>{if(h.current=null,m.current===_){u.current!==null&&(cancelAnimationFrame(u.current),u.current=null);try{y.paused||(y.volume=0,y.pause(),C?.())}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?bc(e.settings):0,x=!!e?.settings.enabled&&b>0;return l.useEffect(()=>{if(!x)return;let v=0;const C=setInterval(()=>{const y=n.current;if(!y||y.paused){v=0;return}const _=t.current;if(_&&!_.paused&&!_.ended||a.current==="playing"){v=0;return}v+=1,v>=2&&(v=0,f())},400);return()=>clearInterval(C)},[f,x,t,a]),l.useEffect(()=>{const v=()=>{if(!document.hidden)return;const C=n.current;if(C&&!C.paused){p();try{C.pause()}catch{}}};return document.addEventListener("visibilitychange",v),()=>document.removeEventListener("visibilitychange",v)},[p]),l.useEffect(()=>{d.current=e?{enabled:e.settings.enabled,volume:b,type:e.settings.type}:null},[e,e?.settings.enabled,b,e?.settings.type]),l.useEffect(()=>{const v=e?.settings,C=n.current;if(!C)return;const y=v?bc(v):0;if(!v||!v.enabled||y===0){f();return}if(c.current!==v.type){const _=q8(v.type);_&&(c.current=v.type,s(_),f(150,()=>{C.src=_,C.load();const k=t.current;k&&!k.paused&&C.addEventListener("canplay",function w(){C.removeEventListener("canplay",w);const A=t.current;A&&!A.paused&&!A.ended&&g(y)})}))}else{const _=t.current,k=!!_&&!_.paused&&!_.ended;if(k&&C.paused&&C.src)g(y);else if(!C.paused)if(!k)f();else{p();const w=C.volume,A=performance.now(),T=()=>{const S=Math.min(1,(performance.now()-A)/150);try{C.volume=w+(y-w)*S}catch{}S<1?u.current=requestAnimationFrame(T):u.current=null};u.current=requestAnimationFrame(T)}}},[e?.settings,e?.settings.enabled,b,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 Z8({ttsText:e,playbackRate:t,mainVolume:a,fillRef:r,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:m,onDoneRef:h,handleEndRef:p}){const g=l.useRef(null),f=l.useRef(0),b=l.useRef(null);l.useEffect(()=>()=>{try{if(b.current&&(cancelAnimationFrame(b.current),b.current=null),window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}}catch{}},[]);const x=(y,_=1)=>{try{const k=(y||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(y||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},v=l.useCallback(y=>{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=y??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=x(w,A.rate||1),g.current=performance.now(),i(0),s("playing"),c("playMode");const T=m.current;T?.enabled&&(T?.volume??0)>0&&d(T.volume);const S=()=>{try{const D=g.current||performance.now(),H=performance.now()-D,R=f.current||1200,E=Math.min(1,H/R);i(E);try{r.current&&(r.current.style.left=`${E*100}%`),n.current&&n.current.style.setProperty("--progress",String(E))}catch{}E<1&&(b.current=requestAnimationFrame(S))}catch{}};A.onend=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),i(1),s("stopped");try{p.current?.()}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{}},A.onstart=()=>{try{b.current&&(cancelAnimationFrame(b.current),b.current=null),b.current=requestAnimationFrame(S)}catch{}};try{_.speak(A)}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}}catch{try{typeof h.current=="function"&&h.current(!0)}catch{}}},[e,t,a,d,r,n,i,s,c,m,h,p]),C=l.useCallback(()=>{try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}b.current&&(cancelAnimationFrame(b.current),b.current=null),u(),g.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:v,stopTTS:C}}var X8='.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%}';te(X8);async function J8(e,t,a){try{const r=window.AudioContext||window.webkitAudioContext,n=new r,i=await n.decodeAudioData(e.slice(0)),s=i.numberOfChannels>0?i.getChannelData(0):null;if(!s)return null;const c=a&&a>0?Math.min(s.length,Math.floor(a*i.sampleRate)):s.length,d=Math.max(t,c),u=Math.floor(d/t)||1,m=new Array(t).fill(0).map((h,p)=>{const g=p*u,f=Math.min(g+u,d);let b=0;for(let x=g;x<f;x++){const v=Math.abs(s[x]);v>b&&(b=v)}return b});try{n.close&&n.close()}catch{}return m}catch{return null}}async function Mb(e,t,a){try{const r=await(await fetch(e)).arrayBuffer();return await J8(r,t,a)}catch(r){try{const n=Kr(r)}catch{}return null}}const $b=4;function Q8(e){const{src:t,segments:a,progress:r=0,waveProgressRef:n,noiseSrc:i,noiseVolume:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:m,showSoundWaveForm:h=!0}=e,p=l.useRef(null),g=l.useRef(null),[f,b]=l.useState(null),[x,v]=l.useState(!1),[C,y]=l.useState(null),[_,k]=l.useState(2),[w,A]=l.useState(0),[T,S]=l.useState(null),[D,H]=l.useState(!1),R=3,E=3,$=1,B=300,F=l.useRef(0),J=l.useCallback(async(ie,de)=>{const fe=++F.current,xe=()=>F.current===fe;try{if(v(!1),!ie){xe()&&b(null);return}let me=de;if(!me)try{for(let je=0;je<4&&!(p.current||g.current);je++)await new Promise(He=>requestAnimationFrame(He));await new Promise(je=>requestAnimationFrame(je));const Y=p.current,re=g&&g.current?g.current:Y?Y.closest(".audio-player__wave"):null,we=re?re.getBoundingClientRect():Y?Y.getBoundingClientRect():null,ce=we?Math.max(100,we.width):320,z=we?we.height:0;z>0&&A(z),me=Math.max($,Math.min(B,Math.floor((ce+E)/(R+E))));const X=me*R,Z=Math.max(0,me-1),be=Z>0?(ce-X)/Z:E;k(Math.max(0,be))}catch{me=120}const M=await Mb(ie,me);if(!xe())return;if(!M){b(null),v(!1);return}b(M),y(me),v(!0)}catch{if(!xe())return;b(null),v(!1)}},[v,b,A,k,y]);l.useEffect(()=>{const ie=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;J(typeof ie=="string"?ie:void 0).catch(()=>{}),H(!1)},[t,a,J]),l.useEffect(()=>{let ie=!1;if(!i||!C){S(null);return}const de=d>0?d*(c||1):void 0;return Mb(i,C,de).then(fe=>{ie||S(fe)}).catch(()=>{ie||S(null)}),()=>{ie=!0}},[i,C,d,c]);const Q=Math.max(0,Math.min(1,u)),ae=l.useMemo(()=>f&&f.length&&Math.max(...f)||1,[f]),N=C||40,L=l.useMemo(()=>Array.from({length:N}).map((ie,de)=>{const fe=f&&f[de]!=null?f[de]:null,xe=fe==null?null:Math.min(1,fe/ae*Q),me=xe!=null&&w>0&&xe*w<=$b,M=xe==null?.15:me?0:xe,Y=N>1?de/(N-1):0;return o.jsx("div",{className:me?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":de,"--mix":Y}},de)}),[N,f,ae,Q,w]),P={"--progress":String(Math.max(0,Math.min(1,r)))},V={"--bar-gap":`${_}px`},W=Math.max(0,Math.min(1,s)),ee=x&&(i?!!T:!0);l.useEffect(()=>{ee&&H(!0)},[ee]);const I=D?x:ee;l.useEffect(()=>{m?.(I)},[I,m]);const q=C||40,O=l.useMemo(()=>Array.from({length:q}).map((ie,de)=>{const fe=T&&T[de]!=null?T[de]:null,xe=fe==null?0:Math.min(1,fe/ae*W),me=w>0&&xe*w<=$b,M=me?0:xe,Y=q>1?de/(q-1):0;return o.jsx("div",{className:me?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":M,"--i":de,"--mix":Y}},de)}),[q,T,ae,W,w]);return o.jsxs("div",{className:"audio-player__wave",ref:g,style:V,children:[i&&o.jsx("div",{className:`audio-player__wave-noise ${ee?"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 e7={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 _c(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 t7=2e3;function Rb(e,t=t7){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 a7({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 o7(){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 r7({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 n7({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 i7(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function s7({ended:e,completedByEnd:t}){return!!e||!!t}function l7(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function c7(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function d7(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 u7({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=n7({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 Ar({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}=he.useTranslation(),m=e,h=vc(),p=l.useRef(h?.registerAnalyser);l.useEffect(()=>{p.current=h?.registerAnalyser});const g=l.useRef(null),f=l.useRef(null),b=l.useRef(null),x=o7(),v=l.useRef(null),C=l.useRef(!1),y=l.useRef(0),_=l.useRef(null),{ref:k,rect:w,show:A,hide:T}=r7();l.useEffect(()=>()=>{p.current?.("main",null),p.current?.("noise",null)},[]);const[S,D]=l.useState(!1),[H,R]=l.useState("idle"),[E,$]=l.useState("stopped"),B=l.useRef("stopped");l.useEffect(()=>{B.current=E},[E]);const[F,J]=l.useState(0),[Q,ae]=l.useState("active"),[N,L]=l.useState(null),[P,V]=l.useState(null),[W,ee]=l.useState(0),[I,q]=l.useState(!1),[O,ie]=l.useState(0),de=h?.playbackRate??1,fe=h?.mainVolume??1,xe=h?bc(h.settings):0,[me,M]=l.useState("idle"),[Y,re]=l.useState(""),[we]=l.useState("top"),ce=l.useRef(null),z=l.useRef(0),X=l.useRef(null),{start:Z,stop:be,settleTo:je}=u7({audioRef:g,fillRef:f,waveProgressRef:X,sourcesRef:ce,currentIndexRef:z}),{onReadyChange:He,waitForReady:Le,markNotReady:Te}=a7({showSoundWaveForm:c,showNoiseWaveForm:d}),Ee=l.useRef(null),Se=l.useRef(n),Ve=l.useRef(r),qe=l.useRef(null),_e=l.useRef(!1),[Oe,Re]=l.useState(!1),Ge=l.useCallback(G=>{_e.current=G,Re(G)},[]),Xe=l.useRef(null),{activeNoiseUrl:et,noiseSettingsRef:Ie,fadeInNoise:xt,fadeOutNoise:nt}=K8({noisePlayer:h,audioRef:g,playbackStateRef:B}),{startTTS:Je,stopTTS:st}=Z8({ttsText:i,playbackRate:de,mainVolume:fe,fillRef:f,waveProgressRef:X,setProgress:J,setPlaybackState:$,setStateLocal:ae,fadeInNoise:xt,fadeOutNoise:nt,noiseSettingsRef:Ie,onDoneRef:Ve,handleEndRef:Xe}),Pe=Array.isArray(t)?t.filter(Boolean):t?[t]:[],Me=(!Pe||Pe.length===0)&&!!i,lt=Array.isArray(N)&&N.length>0?N:Array.isArray(P)&&P.length>0?P:null,_t=Math.max(Array.isArray(lt)?lt.length:0,Pe.length),Ye=l.useCallback(async(G,oe=3,ve=50)=>{for(let ye=0;ye<oe;ye++)try{return await G.play(),!0}catch(Be){if((Be instanceof Error||typeof Be=="object"&&Be&&"name"in Be?Be.name:void 0)==="AbortError"){await new Promise(Ne=>setTimeout(Ne,ve));continue}try{re(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}try{re(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),ct=l.useCallback(()=>{const G=g.current;if(!G)return;const oe=()=>{$("playing"),ae("playMode"),q(!0),Z();try{Wo(),p.current?.("main",Go(G))}catch{}const Be=Ie.current;Be?.enabled&&(Be?.volume??0)>0&&xt(Be.volume)},ve=()=>{s7({ended:!!G?.ended,completedByEnd:_e.current})||($("paused"),be(),nt())},ye=()=>{try{const Be=ce.current,Ne=i7(Be,z.current);if(Ne!==null){z.current=Ne,ee(Ne),q(!0);const pt=Be?.[Ne]&&Be[Ne].src;if(pt&&G){G.src=pt,G.load(),Ye(G).catch(()=>{});return}}}catch{}$("stopped"),J(1);try{if(G)try{G.currentTime=0}catch{}}catch{}be(),q(!1),nt();try{!Se.current&&Xe.current&&Xe.current()}catch{}};return G.addEventListener("play",oe),G.addEventListener("pause",ve),G.addEventListener("ended",ye),()=>{try{G.removeEventListener("play",oe),G.removeEventListener("pause",ve),G.removeEventListener("ended",ye),be()}catch{}}},[xt,nt,Ye,Ie,Z,be]);l.useEffect(()=>ct(),[ct]),l.useEffect(()=>{Se.current=n},[n]),l.useEffect(()=>{Ve.current=r},[r]),l.useEffect(()=>{if(n||Q!=="active")return;const G=_.current;if(!G)return;let oe=null;const ve=requestAnimationFrame(()=>{try{const ye=G.getTotalLength();if(!ye)return;const Be=ye*.2;G.style.strokeDasharray=`${ye-Be} ${Be}`;const Ne="triFlow_"+Math.random().toString(36).slice(2);oe=document.createElement("style"),oe.textContent=`@keyframes ${Ne}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${ye}}}`,document.head.appendChild(oe),G.style.animation=`${Ne} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(ve),oe?.remove()}},[Q,n]),l.useEffect(()=>{ce.current=N},[N]),l.useEffect(()=>{z.current=W},[W]),l.useEffect(()=>{const G=b.current,oe=v.current;if(!G||!oe)return;let ve=null;const ye=32,Be=60,Ne=()=>{try{const ue=Array.from(G.querySelectorAll(":scope > .button"));let ke=0;ue.forEach(ca=>{if(ca===oe)return;const co=ca.getBoundingClientRect();ke+=co.width});const Ke=G.getBoundingClientRect().width,ht=Math.max(0,Math.floor(Ke-ke-8)),ft=_t;if(!ft||ht<=0){Array.from(oe.children).forEach(ca=>{try{ca.style.width=""}catch{}});return}let Vt=Math.floor(ht/ft);Vt>Be&&(Vt=Be),Vt<ye&&(Vt=Math.max(ye,Math.floor(ht/ft))),Array.from(oe.querySelectorAll(".button")).forEach(ca=>{try{ca.style.width=`${Vt}px`}catch{}})}catch{}},pt=requestAnimationFrame(Ne);try{ve=new ResizeObserver(()=>{requestAnimationFrame(Ne)}),ve.observe(G),ve.observe(oe),window.addEventListener("resize",Ne)}catch{}return()=>{try{cancelAnimationFrame(pt)}catch{}try{ve&&(ve.disconnect(),ve=null)}catch{}try{window.removeEventListener("resize",Ne)}catch{}}},[N,P,_t]),l.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),qe.current&&(clearTimeout(qe.current),qe.current=null)}catch{}},[]);const Ct=(G,oe)=>{L(G),ie(oe),Te(),V(l7(G)),ce.current=G},Yt=async(G,oe)=>{Ge(!1),C.current=!1,G.src=oe,G.load(),await Rb(G),await Le(),D(!1),await Ye(G),ae("playMode"),ee(0),q(!0)},at=async(G,oe=!1)=>{const ve=g.current;D(!0),R("measuring_duration");try{const ye=await _c(G,{timeoutMs:1e4,rejectOnError:!0});Ct([{src:G,objectUrl:null,duration:ye}],ye),R("ready"),oe&&ve&&await Yt(ve,G)}finally{C.current=!1,D(!1)}},Et=async(G,oe=!1)=>{const ve=g.current;D(!0),R("measuring_duration");try{const ye=await Promise.all(G.map(Ne=>_c(Ne,{timeoutMs:1e4}))),Be=G.map((Ne,pt)=>({src:Ne,objectUrl:null,duration:ye[pt]||0}));Ct(Be,c7(Be)),R("ready"),oe&&ve&&Be.length>0&&await Yt(ve,Be[0].src)}finally{C.current=!1,D(!1)}},Ft=async(G=!1,oe=!0)=>{const ve=g.current,ye=t?Array.isArray(t)?t:[t]:[];if(!(!ye||ye.length===0||!ye.some(Boolean))&&!C.current){C.current=!0,oe&&D(!0),R("resolving");try{const Be=d7(t,a,Tr),Ne=[];let pt=0;for(const ue of Be){let ke=ue.src??null,Ke=null;if(!ke&&ue.resolvedPath){try{R("getting_signed_url"),ke=await Fo(ue.resolvedPath)}catch{ke=null}if(!ke)try{R("downloading");const ft=await Lr(ue.resolvedPath);if(ft){const Vt=ft instanceof Blob?ft:new Blob([ft]);Ke=x.track(URL.createObjectURL(Vt)),ke=Ke}}catch{R("error");try{re(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),ae("active")}catch{}}}if(!ke)continue;let ht=0;try{R("measuring_duration"),ht=await _c(ke,{timeoutMs:3e3})}catch{ht=0}pt+=ht||0,Ne.push({...ue,src:ke,objectUrl:Ke,duration:ht})}if(Ct(Ne,pt),Ne.length>0&&G&&ve){const ue=Ne[0];Ge(!1);try{x.keepOnly(Ne.map(ke=>ke.objectUrl))}catch{}if(R("ready"),C.current=!1,ue.src&&ve)try{ve.src=ue.src,ve.load(),await Rb(ve),await Le(),oe&&D(!1),ve&&await Ye(ve)}catch{oe&&D(!1)}else oe&&D(!1);ae("playMode"),ee(0),q(!0)}}finally{C.current=!1,oe&&D(!1),R(Be=>Be==="ready"?"ready":"idle")}}},ra=async()=>{const G=g.current;if(!(!G&&!Me)){if(Me){const oe=window.speechSynthesis;if(Q==="active"){const ve=Ho(),ye=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(ve&&ye.length>0){ae("load"),D(!0),R("resolving"),C.current=!0;try{const Be=await Promise.all(ye.map(Ne=>Promise.resolve(ve(Ne))));Be.length>1?await Et(Be,!0):await at(Be[0],!0)}catch{C.current=!1,D(!1),ae("active"),Je(ye[0]||void 0)}return}Je(ye[0]||void 0);return}if(Q==="playMode"){if(G){if(G.paused){if(_e.current){await na();return}await Ye(G),$("playing")}else G.pause(),$("paused");return}try{if(oe&&oe.paused)try{oe.resume(),$("playing")}catch{}else try{oe.pause(),$("paused")}catch{}}catch{}}return}if(Q==="active"){if(n&&Array.isArray(ce.current)&&ce.current.length>0){const oe=ce.current[0];try{if(oe.src&&G)try{G.src=oe.src,G.load(),G&&await Ye(G)}catch{}ae("playMode"),ee(0),q(!0);return}catch{}}ae("load"),await Ft(!0);return}if(Q!=="load"&&(Q==="playMode"||Q==="active"))try{if(G&&G.paused){if(_e.current){await na();return}G&&await Ye(G),$("playing")}else G&&(G.pause(),$("paused"))}catch(oe){(oe instanceof Error||typeof oe=="object"&&oe&&"name"in oe)&&oe.name}}},na=async()=>{const G=g.current;if(G)try{const oe=ce.current;if(Array.isArray(oe)&&oe.length>1){await ya(0);return}Ge(!1);try{G.currentTime=0}catch{}G&&await Ye(G),$("playing"),ae("playMode")}catch{}},Ca=()=>{if(Me){st();return}const G=g.current;try{if(G){try{G.pause()}catch{}try{G.currentTime=0}catch{}}}catch{}nt(),$("stopped"),ae("active"),J(0),q(!1)},qt=async(G,{sameSegment:oe=!1}={})=>{const ve=++y.current,ye=g.current,Be=ce.current?.[G]?.src;try{if(Ge(!1),ee(G),q(!0),z.current=G,!Be||!ye||(oe||Te(),ye.src=Be,ye.load(),oe||await Le(),ve!==y.current)||(await Ye(ye),ve!==y.current))return;$("playing"),ae("playMode")}catch{}},Ma=async()=>{const G=ce.current,oe=z.current||0;if(!G||oe<=0){await na();return}await qt(oe-1)},Tt=async()=>{const G=ce.current,oe=z.current||0;if(!G||oe>=G.length-1){Ca();return}await qt(oe+1)},$a=()=>{if(_e.current)return;const G=200,oe=340;Ge(!0);try{J(1)}catch{}je(1);try{M("hold")}catch{}try{const ve=g.current,ye=Me&&!!ve?.src;if(!Me||ye){if(ve){ve.pause();try{ve.currentTime=0}catch{}}}else st();nt()}catch{}try{$("stopped")}catch{}if(q(!1),!Se.current)try{qe.current&&(clearTimeout(qe.current),qe.current=null),qe.current=setTimeout(()=>{try{M("out")}catch{}qe.current=setTimeout(()=>{try{typeof Ve.current=="function"&&Ve.current(!0)}catch{}try{M("idle")}catch{}qe.current=null},oe)},G)}catch{}};l.useEffect(()=>{Xe.current=$a});const Rt=l.useCallback(()=>re(""),[]),ya=async G=>{(ce.current||[])[G]&&await qt(G,{sameSegment:G===z.current})},wa=E==="playing",Qe=l.useMemo(()=>{if(!P||P.length<=1)return P;const G=P[W];return G?[G]:P},[P,W]),Ht=n===!0;l.useEffect(()=>{try{const G=g.current;G&&typeof G.playbackRate=="number"&&(G.playbackRate=de||1)}catch{}},[de]),l.useEffect(()=>{try{const G=g.current;G&&(G.volume=Math.max(0,Math.min(1,fe)))}catch{}},[fe]);const Dt=me==="hold",Kt=me==="out",ia=Q==="playMode"&&!S&&!Oe||Dt||Kt,sa=E!=="stopped"||Dt||Kt,la=E==="paused",le=Math.max(0,Math.min(100,(F||0)*100)),ge=Ce("audio-player__fill",ia?"is-visible":"",sa?"is-expanded":"",la?"is-paused":"",Kt?"is-out":"");return o.jsxs("div",{className:`audio-player ${Ht?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[o.jsxs("div",{className:`audio-player__panel ${wa?"is-playing":""} ${S?"is-loading":""} ${Q!=="default"?"is-revealed":""}`,children:[S?o.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[o.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),o.jsx("span",{className:"audio-player__loading-text",children:e7[H]})]}):null,Q==="active"?o.jsx("button",{className:"audio-player__button",type:"button",onClick:()=>{T(),ra()},"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(ga,{anchorRect:w,text:typeof m=="string"&&m?m:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),o.jsxs("div",{className:`audio-player__play ${Q==="playMode"||wa?"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:Ma,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:wa?"pause":"play",onClick:ra,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Ca,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:Q!=="playMode"}),_t>1?o.jsx("div",{ref:v,className:"audio-player__source-buttons",children:Array.from({length:_t}).map((G,oe)=>o.jsx(ne,{size:32,type:"dot",shape:"pill",useBorder:!1,label:String(oe+1),onClick:()=>{try{ya(oe)}catch{}},ariaLabel:u("training.sourcePlay",{n:oe+1}),variant:"transparent-white",selected:I&&W===oe,disabled:Q!=="playMode"||!(Array.isArray(N)&&N[oe]),showTooltipInfo:!0},oe))}):null,!Array.isArray(N)||N.length<=1?o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:na,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"}):null,o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:Tt,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:Q!=="playMode"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:$a,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:Q!=="playMode"})]}),o.jsxs("div",{className:"audio-player__slider",children:[o.jsx("div",{className:ge,ref:f,style:{left:`${le}%`},"aria-hidden":"true"}),(c||d)&&o.jsx(Q8,{segments:Qe,progress:F,totalDuration:O,onSegmentClick:ya,waveProgressRef:X,showSoundWaveForm:c,noiseSrc:d&&h?.settings.enabled&&xe>0?et:null,noiseVolume:xe,noiseSpeed:h?.settings.speed??1,mainVolume:fe,onReadyChange:He})]})]}),o.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&o.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[o.jsx(Fe,{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(no,{message:Y,position:we,onClose:Rt})]})}var p7=".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)}";te(p7);function Eo(e){const{t}=he.useTranslation(),{text:a,label:r,anchorRect:n=null,onClose:i,closeOnOutsideClick:s=!0,isMobilePopup:c=!1}=e||{},[d,u]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",d)}catch{}},[d]);const{increase:m,decrease:h,canIncrease:p,canDecrease:g,fontSize:f,lineHeight:b}=cn({storageKey:"tooltip-fontScale"}),x=l.useCallback(()=>u(k=>k==="dark"?"light":"dark"),[]),v=l.useCallback(k=>{try{k.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),C=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],y={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:y,children:C.map((k,w)=>o.jsxs("div",{className:"tooltip-textbox__line",children:[C.length>1?o.jsx("div",{className:"tooltip-textbox__marker",children:o.jsx("span",{className:"tooltip-textbox__line-number button-1",children: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:x,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),o.jsx(ne,{size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:v,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?o.jsx(Na,{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 h7=".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}";te(h7);var m7='.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}}';te(m7);function Cc({state:e="disabled"}){const{t}=he.useTranslation();return o.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[o.jsx("div",{className:"bullet__dot",children:o.jsx(Fe,{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 b7=".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)}";te(b7);function yc({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}=he.useTranslation(),p=ta("(max-width: 767px)"),g=`training-step__title h4 ${c&&r==="disabled"?"training-step__title--faded":""} ${a}`.trim(),f=`training-step__title-row training-step__title-row--${r}`.trim(),b=l.useRef(null),[x,v]=l.useState(!1),[C,y]=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(()=>{v(!1),y(null),k(null)},[]);l.useEffect(()=>{if(!x)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){v(H=>!H);return}if(x)v(!1),y(null),k(null);else{const H=b.current.getBoundingClientRect();y(H),v(!0)}}},[i,s,x]);return o.jsxs("div",{className:f,children:[o.jsx("p",{className:g,children:o.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?o.jsxs("div",{className:"title-controls",children:[o.jsxs("div",{className:"title-buttons",children:[d&&o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"play-circle",label:p?void 0:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:h("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:m,onClick:u,variant:r==="disabled"?"disabled":"default",disabled:r==="disabled"||m}),n&&o.jsx("div",{ref:b,children:o.jsx(ne,{size:32,type:p?"dot":"bar",icon:"eye",label:p?void 0:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),selected:x,onClick:S,variant:r==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),x&&o.jsx(Eo,{text:_??s,label:h("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:C,onClose:T,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function wc(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function Ka({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}=he.useTranslation(),[m,h]=l.useState(()=>wc(e,t));l.useEffect(()=>{const k=wc(e,t);if(k!==m){const w=setTimeout(()=>h(k),0);return()=>clearTimeout(w)}},[e,t,m]);const p=l.useCallback((...k)=>{wc(e,t)==="done"||m==="done"||typeof c=="function"&&c(...k)},[e,t,m,c]),[g,f]=l.useState(!1),[b,x]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),v=l.useCallback(k=>{if(!k)return null;try{const 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}},[]),C=l.useCallback((k,{text:w="",label:A="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:T=!1,alignX:S="center",alignY:D="top"}={})=>{const H=v(k);x({text:w,label:A,anchorRect:H,backdrop:T,alignX:S,alignY:D}),f(!0)},[v]),y=l.useCallback(()=>{f(!1),x(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:C,hideTooltip:y})}return k});return o.jsxs("div",{className:`training-step training-step--${m} ${a?"training-step--last":""} ${s}`,"aria-current":m==="active",children:[o.jsx(Cc,{state:m}),o.jsxs("div",{className:"training-step__content",children:[o.jsx(yc,{state:m,title:r,...n,useFaded:d}),_]}),g?o.jsx(Na,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:y,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:o.jsx(Eo,{text:b.text,onClose:y})}):null]})}var g7='.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)}';te(g7);function kc({context:e,state:t="disabled",theme:a="light"}){const{t:r}=he.useTranslation(),[n,i]=l.useState("disabled"),[s,c]=l.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});l.useEffect(()=>{try{localStorage.setItem("tooltip-theme",s)}catch{}},[s]);const d=()=>c(S=>S==="dark"?"light":"dark"),{increase:u,decrease:m,canIncrease:h,canDecrease:p,fontSize:g,lineHeight:f}=cn({storageKey:"textbox_fontScale"}),[b,x]=l.useState(""),v=l.useCallback(()=>i("active"),[]),C=l.useCallback(()=>x(""),[]),y=S=>{try{x(S)}catch{}},_=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const S=setTimeout(()=>i(t),0);return()=>clearTimeout(S)}},[t]);const k=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]);l.useEffect(()=>{const S=setTimeout(()=>i("disabled"),0);return()=>clearTimeout(S)},[k]);const 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:v,icon:"eye",ariaLabel:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:r("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),o.jsx("div",{className:"training-text-box__area","aria-hidden":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:()=>y(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:()=>y(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(no,{message:b,position:"top",onClose:C})]})}function Rn({index:e,stepIndex:t,isLast:a=!1,title:r,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:m=!1,correctCount:h=0,useDisabledCovered:p=!1,choiceIcons:g,shuffleChoices:f=!0}){const{t:b}=he.useTranslation(),x=r??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),v=typeof e=="number"?e:-1,C=typeof t!="number"?"disabled":v<t?"done":v===t?"active":"disabled",y=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(y)?f?We(y):y.slice():void 0);l.useEffect(()=>{Array.isArray(y)&&y.length?A(f?We(y):y.slice()):A(void 0)},[c,_,k,f]);const[T,S]=l.useState(null),[D,H]=l.useState(()=>new Set);l.useEffect(()=>{S(null),H(new Set)},[k]);const R=l.useRef(void 0);l.useEffect(()=>{const B=R.current;typeof B=="number"&&typeof t=="number"&&typeof e=="number"&&B>=e&&t<e&&(S(null),H(new Set)),R.current=t},[t,e]);const E=l.useCallback(B=>{if(C!=="active")return;const F=w?.[B];if(F==null)return;const J=F,Q=C==="active"||C==="done";if(m){const ae=new Set(D),N=ae.has(J);N?ae.delete(J):ae.add(J),H(ae),typeof s=="function"&&s({selectedValues:[...ae],__ts:Date.now()}),Q&&(typeof h=="number"&&h>0?ae.size>=h:!N)&&typeof i=="function"&&C==="active"&&i({selectedValues:[...ae],__ts:Date.now()})}else S(J),typeof s=="function"&&s({selectedIndex:B,selectedValue:J,__ts:Date.now()}),Q&&typeof i=="function"&&C==="active"&&i({selectedIndex:B,selectedValue:J,__ts:Date.now()})},[w,C,m,s,i,h,D]),$=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:x,useTitleFaded:n,children:o.jsx("div",{className:$,children:Array.isArray(w)&&w.length>0?w.map((B,F)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>E(F),ariaLabel:String(B),label:B,useLabel:!0,icon:g?g[String(B)]:void 0,variant:"default",disabled:C==="disabled",selected:m?D.has(B):T===B,useDisabledCovered:p,minWidth:0},String(B))):null})})}function Pn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=he.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 y=setTimeout(()=>b(null),0);return()=>clearTimeout(y)}},[p,c,f]);const x=l.useCallback(y=>{const _=typeof y=="object"&&y!==null?Object.assign({},y,{__ts:Date.now()}):{value:y,__ts:Date.now()};typeof i=="function"&&i(_),h==="active"&&typeof n=="function"&&n(_)},[i,h,n]),v=l.useCallback(()=>{h==="active"&&(b(!1),x(!1))},[x,h]),C=l.useCallback(()=>{h==="active"&&(b(!0),x(!0))},[x,h]);return o.jsxs(Ka,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[o.jsx(kc,{context:s,state:h}),o.jsx("div",{className:"training-step__buttons",children:Array.isArray(g)&&g.length>0?g.slice(0,6).map((y,_)=>o.jsx(ne,{size:56,type:"bar",onClick:()=>{h==="active"&&(b(_),x&&x(_))},disabled:h==="disabled",ariaLabel:String(y),label:y,variant:h,selected:f===_},_)):o.jsxs(o.Fragment,{children:[o.jsx(ne,{size:56,type:"bar",onClick:v,disabled:h==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!1}),o.jsx(ne,{size:56,type:"bar",onClick:C,disabled:h==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:f===!0})]})})]})}function zn({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:m,disabled:h,_pageIndex:p,showSoundWaveForm:g,showNoiseWaveForm:f}){const{t:b}=he.useTranslation(),x=r??b("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),v=h??(typeof t=="number"&&typeof e=="number"?e>t:!1);return o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:x,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:m},children:o.jsx(Ar,{soundSrc:s,ttsText:s?null:u??x,bucketPath:c,btnLabel:i||b("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:v,className:"training-step__listen-sticky",showSoundWaveForm:g,showNoiseWaveForm:f},`audio-p${p??0}-s${e}`)})}var f7=".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%}";te(f7);var v7=".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}";te(v7);function In({index:e,stepIndex:t,isLast:a=!1,title:r,onDone:n,onChange:i,context:s=[]}){const{t:c}=he.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=(V=>{const W=(V||[]).map((O,ie)=>({id:ie,text:u(O)}));if(W.length<=1)return W;const ee=(O,ie)=>{if(O.length!==ie.length)return!1;for(let de=0;de<O.length;de++)if(O[de].text!==ie[de].text)return!1;return!0};let I=We(W),q=0;for(;ee(I,W)&&q<20;)I=We(W),q+=1;return I})(L);g(P);try{if(typeof i=="function"){const V=P.filter((W,ee)=>W.text===u(L[ee])).length;i({shuffled:P,score:V,total:(L||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&f==="active"){const V=P.filter((W,ee)=>W.text===u(L[ee])).length;n({shuffled:P,score:V,total:(L||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(L,P)=>{const V=[...p],W=L+P;if(W<0||W>=V.length)return;const ee=V[W];V[W]=V[L],V[L]=ee,$(V);try{if(typeof n=="function"&&f==="active"){const I=V.filter((q,O)=>q.text===u(m[O])).length;n({shuffled:V,score:I,total:(m||[]).length,__ts:Date.now()})}}catch{}},[x,v]=l.useState(null),C=l.useRef(null),y=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,V=S.current||{dx:0,dy:0};C.current&&(C.current.style.transform=`translate3d(${P.x-V.dx}px, ${P.y-V.dy}px, 0)`)};T.current=requestAnimationFrame(L)},H=l.useRef(new Map),R=l.useRef(new Map),E=()=>{const L=new Map;return H.current.forEach((P,V)=>{P&&P.getBoundingClientRect&&L.set(V,P.getBoundingClientRect())}),L},$=L=>{const P=E();g(L);try{if(typeof i=="function"){const V=L.filter((W,ee)=>W.text===u(m[ee])).length;i({shuffled:L,score:V,total:(m||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const V=E();L.forEach(W=>{const ee=P.get(W.id),I=V.get(W.id),q=H.current.get(W.id);if(!q||!ee||!I)return;const O=ee.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 V=document.createElement("div");V.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(V),P.dataTransfer?.setDragImage(V,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(V)}catch{}})}catch{}}catch{}v(L);try{const V=p[L],W=document.createElement("div");W.className="order-list__dragging-object order-list__dragging-object--visible",W.textContent=V&&V.text?V.text:"",document.body.appendChild(W),C.current=W;const ee=H.current.get(V.id);let I=P.clientX||0,q=P.clientY||0;try{if(ee&&ee.getBoundingClientRect){const me=ee.getBoundingClientRect();I=me.left+me.width/2,q=me.top+me.height/2}}catch{}const O=W.getBoundingClientRect(),ie=O.width/2,de=O.height/2;S.current={dx:ie,dy:de},W.style.transition="none",A.current={x:I,y:q},W.style.transform=`translate3d(${I-ie}px, ${q-de}px, 0)`,requestAnimationFrame(()=>{try{W.style.transition=""}catch{}D()});const fe=me=>{const M=me;A.current={x:M.clientX,y:M.clientY},D()};_.current=fe,document.addEventListener("mousemove",fe);const xe=me=>{const M=me;A.current={x:M.clientX,y:M.clientY},D()};y.current=xe,document.addEventListener("dragover",xe);try{P.dataTransfer?.setData("text/plain",String(L));try{P.dataTransfer?.setData("application/json",JSON.stringify({idx:L}))}catch{}}catch{}}catch{}},F=(L,P)=>{P.preventDefault();try{P.dataTransfer&&(P.dataTransfer.dropEffect="move")}catch{}try{w.current!==null&&(clearTimeout(w.current),w.current=null);const V=P.currentTarget&&P.currentTarget.closest?P.currentTarget.closest(".order-list__item"):null;if(V&&k.current!==V){if(k.current)try{k.current.classList.remove("drag-over")}catch{}try{V.classList.add("drag-over")}catch{}k.current=V}}catch{}},J=(L,P)=>{P.preventDefault();const V=P.dataTransfer?.getData("text/plain")||"",W=V?parseInt(V,10):x,ee=L;if(typeof W!="number"||isNaN(W)||W===ee){v(null),N(),Q();return}const I=Vi(p,W,ee);$(I),v(null),Q();try{if(typeof n=="function"&&f==="active"){const q=I.filter((O,ie)=>O.text===u(m[ie])).length;n({shuffled:I,score:q,total:(m||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const q=document.querySelectorAll(".order-list .order-list__item")[ee];if(!q)return;const O=q.querySelector(".order-list__slot")||q;try{O.classList.add("pulse"),O.offsetHeight,O.classList.add("to-dark");const ie=()=>{O.classList.remove("pulse","to-dark"),O.removeEventListener("transitionend",ie)};O.addEventListener("transitionend",ie)}catch{}})}catch{}N()},Q=()=>{if(C.current){try{document.body.removeChild(C.current)}catch{}C.current=null}y.current&&(document.removeEventListener("dragover",y.current),y.current=null),_.current&&(document.removeEventListener("mousemove",_.current),_.current=null),T.current!==null&&(cancelAnimationFrame(T.current),T.current=null)},ae=()=>{v(null),N(),Q()};l.useEffect(()=>()=>Q(),[]);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,V)=>{const W=R.current.get(P.id);if(!W)return;let ee=50;L>1&&(ee=Math.round(V/(L-1)*100));try{W.style.setProperty("--marker-pos",ee+"%")}catch{}})}catch{}},[p]),l.useEffect(()=>()=>{Q(),w.current!==null&&(clearTimeout(w.current),w.current=null)},[]),o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:d,children:o.jsx("div",{className:"order-list",children:p.map((L,P)=>{const V=Math.max(1,(p||[]).length),W=V>1?Math.round(P/(V-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:ee=>{const I=R.current;ee?I.set(L.id,ee):I.delete(L.id)},children:o.jsx("span",{className:"order-list__slot-number button-1",children:P+1})}):null,o.jsxs("div",{ref:ee=>{const I=H.current;ee?I.set(L.id,ee):I.delete(L.id)},className:`order-list__draggable ${x===P?"dragging":""}`,"data-disabled":f==="disabled","aria-disabled":f==="disabled",tabIndex:f==="disabled"?-1:0,draggable:f==="active",onDragStart:f==="active"?ee=>B(P,ee):void 0,onDragEnter:f==="active"?ee=>F(P,ee):void 0,onDragOver:f==="active"?ee=>F(P,ee):void 0,onDragLeave:f==="active"?()=>{try{w.current!==null&&clearTimeout(w.current),w.current=setTimeout(()=>{try{const ee=document.querySelectorAll(".order-list .order-list__item");ee&&ee[P]&&(ee[P].classList.remove("drag-over"),k.current===ee[P]&&(k.current=null))}catch{}},80)}catch{}}:void 0,onDrop:f==="active"?ee=>J(P,ee):void 0,onDragEnd:f==="active"?ae: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 x7="";te(x7);const _7=8e3;function C7(e,t){return new Promise(a=>{let r=!1;const n=()=>{r||(r=!0,a())};e.then(n,n),setTimeout(n,t)})}function Ac({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}=he.useTranslation(),p=r??h("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),f=m??3,b=(g||[]).slice(0,f);(g||[]).length>f&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${f} shown`);const x=typeof e=="number"?e:-1,v=typeof t!="number"?"disabled":x<t?"done":x===t?"active":"disabled",[C,y]=l.useState(null),_=l.useRef([]),[k,w]=l.useState(!1),A=l.useMemo(()=>g.map(H=>H?.id??H?.word??"").join("|"),[g]);l.useEffect(()=>{y(null),_.current=[]},[A]);const T=l.useCallback((H,R)=>{if(c)return;const E={item:H,index:R,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[c,i,v,n]),S=l.useCallback(async()=>{if(!(k||v==="disabled")){w(!0);try{for(const H of _.current)H&&await C7(H.play(),_7)}finally{w(!1)}}},[k,v]),D=l.useCallback((H,R)=>{if(v!=="active")return;y(R);const E={selectedValue:H.word||H.title||"",selectedIndex:R,item:H,__ts:Date.now()};try{typeof i=="function"&&i(E)}catch{}if(v==="active"&&typeof n=="function")try{n(E)}catch{}},[i,v,n]);return o.jsx(Ka,{index:e,stepIndex:t,isLast:a,title:p,onDone:n,titleProps:{usePlayAllBtn:!u&&b.length>0,onPlayAll:S,playAllActive:k},children:o.jsx("div",{className:"training-step__cards",children:b.length===0?o.jsx("div",{className:"training-step__empty",children:h("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):b.map((H,R)=>o.jsx(Nn,{ref:E=>{_.current[R]=E},item:H,disabled:v==="disabled",onPlayDone:()=>T(H,R),selectable:c,selected:c&&C===R,onSelect:c?()=>D(H,R):void 0,flipDelay:R*120,hideLabel:d,hideAudio:u},H&&H.id||R))})})}const y7=160;var w7=".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}}";te(w7);const Pb=()=>{};function Ta(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:x,onClick:v,children:C,align:y="horizontal",icon:_}=e,k=w=>{v&&w.target===w.currentTarget&&(w.key==="Enter"||w.key===" ")&&(w.preventDefault(),v())};return o.jsxs("div",{className:Ce("panel-row",y==="vertical"?"panel-row--vertical":"",v?"panel-row--clickable":""),onClick:v,onKeyDown:v?k:void 0,role:v?"button":void 0,tabIndex:v?0:void 0,children:[_!=null&&o.jsx("div",{className:"panel-row__icon",children:_}),b!=null&&o.jsxs("div",{className:"panel-row__left",children:[o.jsx("div",{className:"panel-row__label body-3",children:b}),x&&o.jsx("div",{className:"panel-row__sub caption-1",children:x})]}),o.jsx("div",{className:"panel-row__right",children:C})]})}if(e.variant==="description")return o.jsx("div",{className:"panel-row panel-row--block",children:o.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return o.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return o.jsx("div",{className:"panel-row panel-row--loading",children:o.jsx(No,{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(Ya,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:r})}else if(a==="dropdown"){const b=e,x=b.dropdowns?.length?o.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((v,C)=>o.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:o.jsx(Ut,{options:v.options,value:v.value,onChange:v.onChange,placeholder:v.placeholder,block:u,error:!!c,ariaLabel:v.ariaLabel??([r,v.placeholder].filter(Boolean).join(" ")||void 0)})},C))}):o.jsx(Ut,{options:b.options??[],value:b.value??"",onChange:b.onChange??Pb,block:u,error:!!c,ariaLabel:r});h=c?o.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[x,o.jsx("span",{className:"caption-1 panel-row__error",role:"alert",children:c})]}):x}else if(a==="button"){const b=e;b.buttons?.length?h=o.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((x,v)=>o.jsx(ne,{size:x.btnSize??40,variant:x.btnVariant??"default",disabled:x.disabled,onClick:x.onClick,children:x.label},v))}):h=o.jsx(ne,{size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;h=o.jsx("span",{className:`panel-row__text body-2${u?" panel-row__text--full":""}`,style:b.valueColor?{color:b.valueColor}:void 0,children:b.value})}else if(a==="input"){const b=e;h=o.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[o.jsx(Ua,{value:b.value,onChange:b.onChange??Pb,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:Ce("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 zb(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(r=>!!r&&r!==t);return[...new Set(a)].join(" \xB7 ")}function Ib({devices:e,onRelease:t,emptyLabel:a}){const{t:r}=he.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(ut,{size:"small",variant:Nm(i.device),fill:"soft",label:i.device}),zb(i)&&o.jsx("span",{className:"panel-row__device-detail body-3",children:zb(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 Sr({title:e,icon:t,disc:a,actions:r,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,useBorder:u=!0,useBg:m=!0,useRowBorder:h=!0,labelWidth:p,form:g=!1,loading:f,empty:b,children:x}){const v=Ce("panel",`panel--${n}`,g?"panel--form":"",i!==void 0?"panel--fill":"",u?"":"panel--no-border",m?"":"panel--no-bg",h?"":"panel--no-row-border",c),C={};return i!==void 0&&(C.minHeight=i),s!==void 0&&(C.maxWidth=typeof s=="number"?`${s}px`:s),p!==void 0&&(C["--panel-label-width"]=typeof p=="number"?`${p}px`:p),o.jsxs("div",{className:v,style:Object.keys(C).length?C:void 0,children:[(e!=null||a!=null)&&o.jsxs("div",{className:Ce("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&o.jsx(Fe,{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(Ta,{variant:"loading"}):b!=null&&(x==null||Array.isArray(x)&&x.length===0)?o.jsx(Ta,{variant:"empty",children:b}):d?o.jsx("div",{className:"panel__body--scroll",children:x}):x]})}function Ob({cols:e=2,children:t}){return o.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function k7(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 Fb(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"}]}k7(ka.t.bind(ka)),Fb(ka.t.bind(ka));var A7='.ihabdevteam-core-scope .noise-settings{border-radius:var(--radius-m);box-sizing:border-box;max-width:calc(100vw - 40px);padding:0 20px 20px}.ihabdevteam-core-scope .tooltip-content:has(.noise-settings__header) .tooltip-content__header{border-bottom:1px solid var(--color-darkWhite);height:60px;padding:0 20px}.ihabdevteam-core-scope .noise-settings__header{align-items:center;display:flex;justify-content:space-between;width:100%}.ihabdevteam-core-scope .noise-settings__header span{color:var(--color-darkGray);font-weight:600}.ihabdevteam-core-scope .noise-settings__slider-input.slider--horizontal{flex:1 1 auto}.ihabdevteam-core-scope .noise-settings__value{font-feature-settings:"tnum";color:var(--color-main);flex:0 0 auto;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;width:44px}';te(A7);const Sc="none",S7=.5,B7=1.5,N7=.25;function Bc({title:e,valueLabel:t,value:a,min:r,max:n,step:i,tickStep:s,size:c,onChange:d}){return o.jsxs(Ta,{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 Nc({anchorRect:e,onClose:t}){const{t:a}=he.useTranslation(),r=ta("(max-width: 767px)")?40:24,n=vc(),i=mc(n?.settings??fc),s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=n?.playbackRate??1,u=n?.mainVolume??1,m=Math.round(u*100),h=l.useCallback(b=>{try{n?.setMainVolume(Math.max(0,Math.min(1,b/100)))}catch{}},[n]),p=l.useCallback(b=>{try{n?.setPlaybackRate(b)}catch{}},[n]),g=l.useCallback(b=>{const x=Math.min(hc,Math.max(0,Math.round(b*10)/10));try{n?.setSettings({noiseRatio:x})}catch{}},[n]),f=l.useCallback(b=>{try{b===Sc?n?.setSettings({enabled:!1}):n?.setSettings({type:b,enabled:!0})}catch{}},[n]);return o.jsx(Na,{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(Sr,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[o.jsx(Bc,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${m}%`,value:m,min:0,max:100,step:10,size:r,onChange:h}),o.jsx(Bc,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:S7,max:B7,step:N7,size:r,onChange:p}),o.jsx(Ta,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:o.jsx(Ya,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:Sc,label:a("training.noise.type.none","\uC5C6\uC74C")},...Fb(a).map(b=>({key:b.value,label:b.label}))],value:c?s:Sc,onChange:f})}),o.jsx(Bc,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:hc,step:U8,size:r,onChange:g})]})})}var D7=".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}";te(D7);function Dc({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:r,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=he.useTranslation(),[u,m]=l.useState(!1),[h,p]=l.useState(null),[g,f]=l.useState(!1),b=l.useRef(null),x=l.useRef(null),v=vc(),C=s<c-1,y=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=x?.current?.getBoundingClientRect();S&&p(S),t?.(),m(!0)},[u,t]),T=l.useCallback(()=>f(S=>!S),[]);return o.jsxs("div",{className:"pp-bottom",children:[o.jsxs("div",{className:"pp-bottom__left",children:[e?o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"pp-bottom__settings--desktop",children:o.jsx("div",{ref:b,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"bar",icon:"settings",onClick: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:x,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:o.jsx(ne,{size:56,type:"dot",icon:"settings",onClick:A,selected:u,ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&o.jsx(ne,{size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:T,selected:g,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&g&&o.jsxs("div",{className:"pp-bottom__meters",children:[o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),o.jsx(kn,{analyser:v?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),o.jsxs("div",{className:"pp-bottom__meter",children:[o.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),o.jsx(kn,{analyser:v?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),o.jsxs("div",{className:"pp-bottom__right",children:[y&&o.jsx(ne,{size:56,type:"bar",icon:"check",onClick:typeof r=="function"?r:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!_}),C&&o.jsx(ne,{size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:d("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!_})]}),e&&u&&o.jsx(Nc,{anchorRect:h,onClose:k})]})}var j7=".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}}";te(j7);function jc({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}=he.useTranslation(),f=ta("(max-width: 767px)"),b=Number.isInteger(m)?m:c||0,x=Number.isInteger(u)?u:d||0,v=h||p,C=Array.isArray(r)?f?r[r.length-1]:r.join(" / "):r,y=typeof e=="string"?e.trim():e,_=typeof t=="string"?t.trim():t,k=!!(y||_),w=k?y||_:g("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),A=C||t,T=f&&typeof A=="string"&&(A.includes(" \xB7 ")||A.includes(" / "))?A.split(/\s[·/]\s/).pop():A,S=l.useMemo(()=>{const D=i&&typeof i=="object"?{...i}:{};return!("width"in D)&&!("height"in D)&&(D.width="40px",D.height="40px"),D},[i]);return o.jsxs("header",{className:"pp-title training-popup-title",children:[o.jsxs("div",{className:"pp-title__left",children:[v?o.jsx(ne,{size:48,type:"dot",icon:"chevron-left",ariaLabel:g("common.back","\uB4A4\uB85C"),onClick:v,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,o.jsx("div",{children:n?o.jsx(Lm,{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,x??0),index:Math.max(0,b??0)})]})}function Hb(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Vb(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 Ec(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 Wb(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function Gb({idPrefix:e,trainingData:t,depth:a,fallbackTitle:r="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=Ec(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 Ub(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function Yb(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 qb(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 Tc(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function Kb(e,t,a,r){return Tc(e,t*a+r)}function Zb({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 Xb(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 Jb=l.createContext(null);function E7(){const e=l.useContext(Jb);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function T7({index:e,stepIndex:t,isLast:a=!1,title:r="\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.",choices:n=[],onDone:i,onChange:s}){const c=typeof e=="number"?e:-1,d=typeof t!="number"?"disabled":c<t?"done":c===t?"active":"disabled",[u,m]=l.useState(()=>n.map(()=>null)),h=n.join("|");l.useEffect(()=>{m(h?h.split("|").map(()=>null):[])},[h]);const p=l.useMemo(()=>u.filter(f=>f!==null).length+1,[u]),g=l.useCallback(f=>{d==="active"&&m(b=>{const x=[...b];if(x[f]!==null){const C=x[f];return x.map(y=>y!==null&&y>=C?null:y)}x[f]=p;const v={selectedOrder:x,words:n,__ts:Date.now()};try{typeof s=="function"&&s(v)}catch{}if(x.every(C=>C!==null))try{typeof i=="function"&&i(v)}catch{}return x})},[d,p,s,i,n]);return o.jsx(Ka,{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 Br(e){return null}Br.__isTrainingPage=!0;function To(e,t){const a=E7();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 Lc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s}=To(e,t);return o.jsx(zn,{...a,index:r,stepIndex:n,isLast:i,onDone:s})}function Mc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(Rn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function $c({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(Pn,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Rc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(In,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Pc({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(Ac,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}function L7({_stepIndex:e,_totalSteps:t,...a}){const{index:r,stepIndex:n,isLast:i,onDone:s,onChange:c}=To(e,t);return o.jsx(T7,{...a,index:r,stepIndex:n,isLast:i,onDone:s,onChange:c})}var M7=`.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}}`;te(M7);function zc(...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 $7(e){return zc(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Qb(e){if(!e)return;if(typeof e.decision=="boolean")return e.decision;if(typeof e.correct=="boolean")return e.correct;if(typeof e.heard=="boolean")return e.heard;if(typeof e.judgement=="boolean")return e.judgement;const t=zc(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 Ic(e){const{score:t,contextsLength:a,results:r=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1}=e||{},{t:d}=he.useTranslation();l.useEffect(()=>{const b=a??0;t!=null&&b>0&&t/b>.5&&window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},[t,a]);const u=l.useCallback(b=>{const x=Qb(b),v=zc(b?.wording,b?.label);return x===!0?{variant:"main",label:v??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:x===!1?{variant:"danger",label:v??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:v??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),m=a??0,h=t??0,p=l.useMemo(()=>Array.isArray(r)?r:[],[r]),g=l.useMemo(()=>p.map(b=>{const x=b??{},v=$7(x)||"(\uB0B4\uC6A9\uC5C6\uC74C)",{variant:C,label:y}=u(x),_=Array.isArray(x.corrects)?x.corrects:[],k=_.length?_.join(", "):x.answer!=null&&x.answer!==""?String(x.answer):null,w=typeof x.selectedText=="string"?x.selectedText:null,A=Qb(x)===!0;return{problem:v,variant:C,label:y,answer:k,selectedText:w,isCorrect:A}}),[p,u]),f=l.useMemo(()=>g.some(b=>b.answer!==null||b.selectedText!==null),[g]);return o.jsx(ja,{onClose:s,inline:c,ariaLabel:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",footerClassName:"trp-result__foot",footer:({animateThen:b,closeWithAnimation:x})=>o.jsxs("div",{className:"trp-actions",children:[o.jsx(ne,{size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>b(i)}),o.jsx(ne,{size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:x})]}),children:()=>o.jsxs("div",{className:"trp-result is-on",children:[o.jsxs("header",{className:"trp-result__head",children:[o.jsx("p",{className:"trp-result__eyebrow caption-1",children:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),o.jsx("h1",{className:"trp-result__title h2",children:d("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&o.jsx("p",{className:"trp-result__subtitle body-3",children:n}),o.jsx("div",{className:"trp-score",children:o.jsxs("div",{className:"trp-score__figure","aria-label":d("training.result.scoreAria",{correct:h,total:m}),children:[o.jsx("span",{className:"trp-score__big",children:h}),o.jsx("span",{className:"trp-score__sep",children:"/"}),o.jsx("span",{className:"trp-score__total",children:m})]})})]}),g.length>0&&o.jsx("section",{className:"trp-result__body",children:o.jsxs("div",{className:`result-table${f?" result-table--answer":""}`,role:"table","aria-label":d("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[o.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[o.jsx("span",{role:"columnheader",children:d("common.col.problem","\uBB38\uC81C")}),f&&o.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),o.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),g.map((b,x)=>o.jsxs("div",{className:"result-table__row",role:"row",children:[o.jsxs("div",{className:"trp-row__problem",children:[o.jsx("span",{className:"trp-row__no caption-1",children:String(x+1).padStart(2,"0")}),o.jsx("div",{className:"trp-row__q body-2",children:b.problem})]}),f&&o.jsxs("div",{className:"trp-row__answers",children:[b.answer!==null&&o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),o.jsx("span",{className:"trp-row__answer-value body-2",children:b.answer})]}),o.jsxs("div",{className:"trp-row__answer-line",children:[o.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${b.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),o.jsx("span",{className:`trp-row__answer-value body-2 ${b.isCorrect?"is-correct":"is-wrong"}`,children:b.selectedText??"\u2014"})]})]}),o.jsx("div",{className:"trp-row__judge",children:o.jsx(ut,{variant:b.variant,label:b.label,fill:"soft",minWidth:80})})]},x))]})})]})})}function R7(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 Oc(e,t){return e&&e.id||`page-${t??0}`}function Fc(e,t){return e&&e.key||`step-${t??0}`}function Fn(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function P7(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const eg=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]),z7=e=>o.jsx(Ic,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose});function I7(e){const{scenario:t,title:a,subTitle:r,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:m,stepCount:h,onBack:p,onComplete:g,onNext:f,onSettings:b,useNoiseSetting:x=!0,children:v,ariaLabel:C,label:y,buildResults:_,onResult:k,typeKey:w,entryPoint:A,dailyTotal:T,itemRef:S,renderResultPopup:D,noiseOverride:H}=e;R7(w&&!eg.has(w)?w:"");const R=l.useRef(0);l.useEffect(()=>{R.current=Date.now()},[]);const{t:E}=he.useTranslation(),$=k,B=!!t,F=t?.id||null,J=t?.meta||{},Q=Array.isArray(t?.pages)?t.pages:[],ae=Array.isArray(v)||l.isValidElement(v)&&typeof v!="function"?l.Children.toArray(v).filter(l.isValidElement):[],N=ae.length>0,L=le=>le===Br||le?.__isTrainingPage===!0,P=N&&ae.some(le=>L(le.type)),V=P?ae.filter(le=>L(le.type)).map((le,ge)=>{const G=le.props||{};return{id:`children-page-${ge}`,steps:l.Children.toArray(G.children).filter(l.isValidElement),pageTop:G.pageTop||G.top||null,pageBottom:G.pageBottom||G.bottom||null}}):[{id:"children-page-0",steps:ae}],W=N&&!B&&typeof v!="function",ee=W?Math.max(1,V.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 ge=Number(le.dataset.ihabTrainingPopupCount||"1")-1;ge>0?le.dataset.ihabTrainingPopupCount=String(ge):(delete le.dataset.ihabTrainingPopupCount,le.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return v8()},[]);const[I,q]=l.useState({...fc,enabled:!1}),O=l.useRef(I);l.useEffect(()=>{O.current=I},[I]);const ie=l.useRef(H);l.useEffect(()=>{let le=!1;return ls().then(ge=>{if(le)return;const G=ge?gc(O.current,ge):{...fc};O.current=G,q(G),or(G);const oe=ie.current;if(oe){const ve=typeof oe=="function"?oe(G):oe,ye=gc(G,ve);O.current=ye,q(ye),or(ye)}}),()=>{le=!0}},[]);const[de,fe]=l.useState(null),[xe,me]=l.useState(null),M=l.useCallback((le,ge)=>{le==="main"?fe(ge):me(ge)},[]),Y=l.useCallback(le=>{const ge=gc(O.current,le);O.current=ge,q(ge),ie.current||cs(ge),or(ge)},[]),re=I.mainSpeed,we=I.mainVolume,ce=l.useCallback(le=>Y({mainSpeed:le}),[Y]),z=l.useCallback(le=>Y({mainVolume:le}),[Y]),X=l.useMemo(()=>({settings:I,setSettings:Y,registerAnalyser:M,mainAnalyser:de,noiseAnalyser:xe,playbackRate:re,setPlaybackRate:ce,mainVolume:we,setMainVolume:z}),[I,Y,M,de,xe,re,ce,we,z]),Z=l.useRef(null),[be,je]=l.useState("center"),[He,Le]=l.useState(!1),Te=l.useRef(!1),Ee=l.useRef(null),Se=l.useCallback(le=>{Te.current||(Te.current=!0,Le(!0),Ee.current=setTimeout(le,y7))},[]);l.useEffect(()=>()=>{Ee.current&&clearTimeout(Ee.current)},[]),l.useEffect(()=>{const le=Z.current;if(!le)return;const ge=Array.from(le.querySelectorAll(pr)).filter(oe=>!oe.closest('[aria-hidden="true"]'))[0];if(ge)try{ge.focus()}catch{}const G=oe=>{if(oe.key==="Escape"){oe.preventDefault(),Se(()=>{typeof p=="function"&&p()});return}};return le.addEventListener("keydown",G),()=>le.removeEventListener("keydown",G)},[p,Se]),Ss(Z,!0);const[Ve,qe]=l.useState(!1),_e=l.useRef(!1),[Oe,Re]=l.useState(null),[Ge,Xe]=l.useState(""),[et,Ie]=l.useState(()=>Fn()),xt=l.useRef(typeof d=="number"?d:null);l.useEffect(()=>{!B&&!W||(Ie(Fn()),Re(null))},[B,F,W]),l.useEffect(()=>{W&&Ie(le=>{const ge=Math.max(0,Math.min(le.pageIndex,Math.max(0,ee-1)));return ge!==le.pageIndex?{...le,pageIndex:ge,stepIndex:0}:le})},[W,ee]);const nt=W?Math.max(0,Math.min(et.pageIndex,ee-1)):0,Je=W?V[nt]:null,st=W&&Je&&Array.isArray(Je.steps)?Je.steps:[],Pe=B?et.pageIndex:W?nt:typeof d=="number"?d:0,Me=B?Q[Math.max(0,Math.min(et.pageIndex,Math.max(0,Q.length-1)))]:null,lt=B&&Me&&Array.isArray(Me.steps)?Me.steps:[],_t=B?lt.length:W?st.length:typeof h=="number"?h:0,Ye=B||W?Math.max(0,Math.min(et.stepIndex,Math.max(0,_t))):typeof m=="number"?m:0,ct=B?Q.length:W?ee:typeof u=="number"?u:0;l.useLayoutEffect(()=>{const le=xt.current;if(typeof Pe=="number"&&le!==null&&Pe!==le&&Pe>le)try{Xe(E("training.problemNotice",{n:Pe+1}))}catch{}xt.current=typeof Pe=="number"?Pe:xt.current},[Pe,d,E]),l.useLayoutEffect(()=>{const le=Z.current;if(!le)return;const ge=()=>le.querySelector(".page-popup__scroll");let G=null,oe=null,ve=null;const ye=ke=>{const Ke=ge();if(!Ke)return;const ht=Ke.scrollHeight<=Ke.clientHeight;if(je(ht?"center":"top"),ke&&!_e.current){_e.current=!0;try{qe(!0)}catch{}try{pt.disconnect()}catch{}}},Be=()=>{G!==null&&cancelAnimationFrame(G),G=requestAnimationFrame(()=>{oe!==null&&clearTimeout(oe),oe=setTimeout(()=>ye(!0),60)})},Ne=()=>{ve!==null&&cancelAnimationFrame(ve),ve=requestAnimationFrame(()=>ye(!1))};Be(),window.addEventListener("resize",Ne);const pt=new MutationObserver(Be);pt.observe(le,{childList:!0,subtree:!0,attributes:!0});const ue=setTimeout(()=>{_e.current||ye(!0)},400);return()=>{window.removeEventListener("resize",Ne),G!==null&&cancelAnimationFrame(G),oe!==null&&clearTimeout(oe),ve!==null&&cancelAnimationFrame(ve),clearTimeout(ue);try{pt.disconnect()}catch{}}},[Z]);const Ct=l.useCallback(le=>{Z.current&&(Z.current._childOnNext=le)},[]),Yt=l.useCallback(le=>{Z.current&&(Z.current._childOnResult=le)},[]),at=l.useCallback((le,ge,G)=>{Ie(oe=>{const ve=oe.answersByPage[le]||{},ye=ve[ge],Be=On(G),Ne=On(ye);return ye&&Ne>Be?oe:{...oe,answersByPage:{...oe.answersByPage,[le]:{...ve,[ge]:G}}}})},[Ie]),Et=l.useCallback((le,ge,G)=>{const oe=Oc(Me,Pe),ve=Fc(le,ge);at(oe,ve,G)},[Me,Pe,at]),Ft=l.useCallback((le,ge,G)=>{const oe=Oc(Me,Pe),ve=Fc(le,ge);at(oe,ve,G),!G?.allowChange&&le?.autoAdvance!==!1&&Ie(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,ge+1)}))},[Me,Pe,at,Ie]),ra=l.useCallback((le,ge)=>{const G=Je?.id||`children-page-${Pe??0}`,oe=typeof ge=="number"?ge:Ye??0,ve=`step-${oe}`;at(G,ve,le),le?.allowChange||Ie(ye=>({...ye,stepIndex:Math.max(ye.stepIndex,oe+1)}))},[Je,Pe,Ye,at,Ie]),na=l.useCallback((le,ge)=>{const G=Je?.id||`children-page-${Pe??0}`,oe=`step-${typeof ge=="number"?ge:Ye??0}`;at(G,oe,le)},[Je,Pe,Ye,at]),Ca=W?{currentPageIndex:Pe??0,currentStepIndex:Ye??0,totalStepsInPage:st.length,handleStepDone:ra,handleStepChange:na}:null,qt=async()=>{const le=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:Q,flowState:et,answersByPage:et.answersByPage})):null;return typeof $=="function"&&await Promise.resolve($(le))||le},Ma=async()=>{const le=Je?.id||`children-page-${et.pageIndex}`,ge=et.answersByPage[le]||{},G=P?(()=>{const ye={};let Be=0;return V.forEach(Ne=>{const pt=et.answersByPage[Ne.id]||{},ue=Array.isArray(Ne.steps)?Ne.steps.length:0;for(let ke=0;ke<ue;ke+=1){const Ke=pt[`step-${ke}`];typeof Ke<"u"&&(ye[`step-${Be+ke}`]=Ke)}Be+=ue}),ye})():ge;if(typeof _=="function"){const ye=await Promise.resolve(_(G,{pageAnswers:ge,answersByPage:et.answersByPage,pages:V,currentPageId:le}));return typeof $=="function"&&await Promise.resolve($(ye))||ye}const oe=Object.entries(ge).map(([ye,Be],Ne)=>({index:Ne,key:ye,payload:Be})),ve={results:oe,answers:oe,score:0};return typeof $=="function"&&await Promise.resolve($(ve))||ve},Tt=()=>{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 G=qt();Re({});const oe=G;Promise.resolve(oe).then(ve=>{Re(ve||{isEmpty:!0})}).catch(ve=>{Re({isEmpty:!0})});return}if(W){const G=Ma();Re({});const oe=G;Promise.resolve(oe).then(ve=>{Re(ve||{isEmpty:!0})}).catch(ve=>{Re({isEmpty:!0})});return}const le=Z.current&&Z.current._childOnResult,ge=G=>{try{return G?G():void 0}catch{return}};if(typeof le=="function"){const G=ge(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{}G&&typeof G.then!="function"?Re(G):Re(G&&typeof G.then=="function"?{}:{}),Promise.resolve(G).then(oe=>{oe&&Re(oe)}).catch(oe=>{});return}if(typeof $=="function"){const G=ge($);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{}G&&typeof G.then!="function"?Re(G):Re(G&&typeof G.then=="function"?{}:{}),Promise.resolve(G).then(oe=>{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{}oe&&Re(oe)}).catch(oe=>{console.error("viewResults external handler failed",oe)});return}},$a=()=>{if(B){if(typeof Pe=="number"&&typeof ct=="number"&&Pe<ct-1){Ie(ge=>({...ge,pageIndex:ge.pageIndex+1,stepIndex:0}));return}return Tt()}if(W){const ge=st.length;if(typeof Ye=="number"&&Ye<ge-1){Ie(G=>({...G,stepIndex:G.stepIndex+1}));return}if(typeof Pe=="number"&&typeof ct=="number"&&Pe<ct-1){Ie(G=>({...G,pageIndex:G.pageIndex+1,stepIndex:0}));return}return Tt()}if(typeof f=="function"){try{f()}catch{}return}const le=Z.current&&Z.current._childOnNext;if(typeof le=="function"){try{le()}catch{}return}},Rt=B?J.title||J.label||C||E("common.popup","\uD31D\uC5C5"):a||y||(Array.isArray(n)?n[n.length-1]:void 0)||C||E("common.popup","\uD31D\uC5C5"),ya=B?J.title??J.label??Rt:a??y??Rt,wa=(le,ge)=>{const G=Oc(Me,Pe),oe=Fc(le,ge),ve=et.answersByPage[G]?.[oe],ye=P7(le,{page:Me,pageIndex:Pe,step:le,stepIndex:ge,storedPayload:ve,answersByPage:et.answersByPage,flowState:et}),Be={key:oe,index:ge,stepIndex:Ye,isLast:ge===lt.length-1};switch(le?.type){case"listen":return o.jsx(zn,{...Be,...ye,onDone:Ne=>Ft(le,ge,Ne)});case"confirm":return o.jsx(Rn,{...Be,...ye,onDone:Ne=>Ft(le,ge,Ne),onChange:Ne=>Et(le,ge,Ne)});case"confirmWithText":return o.jsx(Pn,{...Be,...ye,onDone:Ne=>Ft(le,ge,Ne),onChange:Ne=>Et(le,ge,Ne)});case"orderList":return o.jsx(In,{...Be,...ye,onDone:Ne=>Ft(le,ge,Ne),onChange:Ne=>Et(le,ge,Ne)});default:return null}},Qe=B?Q.length>0?o.jsx("div",{className:"training-steps",children:lt.map((le,ge)=>wa(le,ge))}):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,Ht=W?o.jsxs(Jb.Provider,{value:Ca,children:[Je?.pageTop?o.jsx("div",{className:"training-page-top",children:Je.pageTop}):null,o.jsx("div",{className:"training-steps",children:st.map((le,ge)=>{const G=le;return l.cloneElement(G,{...G.props,_stepIndex:ge,_totalSteps:st.length,_stepKey:`step-${ge}`,_pageIndex:Pe})})}),Je?.pageBottom?o.jsx("div",{className:"training-page-bottom",children:Je.pageBottom}):null]}):null,Dt=l.useCallback(()=>{let le;if(w){const ge=Oe,G=ge?.results||ge?.answers||[],oe=Array.isArray(G)&&G.length>0?G.length:null,ve=Array.isArray(G)?G.filter(Be=>Be?.correct===!0||Be?.isCorrect===!0||Be?.score===1||Be?.heard===!0||Be?.judgement===!0).length:null,ye=oe!=null?ve:null;ns({items:ss(G),category:eg.has(w)?"sentence":"word",trainingType:w,entryPoint:A??"sentence",itemRef:S??null,correct:ye,total:oe,score:typeof ge?.score=="number"?ge.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:T??null}),le={correct:ye,total:oe}}Re(null),Se(()=>{typeof g=="function"&&g(le),typeof p=="function"&&p()})},[g,p,w,A,T,S,Oe,Re,Se]),Kt=l.useCallback(()=>Xe(""),[Xe]),ia=l.useCallback(()=>{Se(()=>{typeof p=="function"&&p()})},[p,Se]),sa=o.jsxs("div",{className:`page-popup${He?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Rt,children:[o.jsxs("div",{ref:Z,className:`page-popup__panel ${Ve?"":"page-popup__panel--measuring"} ${be==="center"?"page-popup__panel--center":be==="top"?"page-popup__panel--top":""}`,children:[o.jsx(jc,{title:ya,subtitle:B?J.subtitle||J.label:Array.isArray(n)?n.join(" / "):void 0,desc:B?void 0:r,depth:B?J.depth:n,icon:B?J.icon:i,wrapperStyle:B?J.wrapperStyle:s,iconTooltip:B?J.iconTooltip:c,progressMax:ct,progressIndex:Pe,pageIndex:Pe,pageCount:ct,onBack:ia,onClose:ia}),o.jsx("div",{className:"page-popup__scroll",children:o.jsx("div",{className:`page-popup__content ${be==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:W?Ht:B?Qe:typeof v=="function"?v({registerOnNext:Ct,registerOnResult:Yt,panelRef:Z,setResultOverlay:Re}):v})}),o.jsx(Dc,{onSettings:b,onNext:$a,onResult:Tt,useNoiseSettingBtn:!!(B?J.useNoiseSetting??!0:x),stepIndex:Ye,stepCount:_t,pageIndex:Pe,pageCount:ct})]}),Oe&&!Oe.isEmpty&&(D??z7)({score:Oe.score,results:Oe.results||Oe.answers||[],contextsLength:Oe.results?Oe.results.length:Oe.answers?Oe.answers.length:0,onReplay:()=>{if(Re(null),B){if(Ie(Fn()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(W){Ie(Fn());return}try{const le=Z.current&&Z.current._childOnResult;typeof le=="function"&&le({replay:!0})}catch{}},onClose:Dt}),Oe?.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:Dt,label:E("training.result.done","\uC644\uB8CC")})})]})}),o.jsx(no,{message:Ge,position:"top",onClose:Kt})]}),la=o.jsx(Tb.Provider,{value:X,children:sa});return typeof document<"u"&&document.body?Wt.createPortal(la,document.body):la}const La=I7;La.Page=Br,La.ListenStep=Lc,La.ConfirmStep=Mc,La.ConfirmWithTextStep=$c,La.OrderListStep=Rc,La.CardStep=Pc,La.CardOrderStep=L7;var O7=".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)}";te(O7);var F7='.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}';te(F7);function H7({label:e,homonum:t}){const a=Pa()?.(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 Hc({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:Wt.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(H7,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function tg({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:r,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:m,onPrintEmpty:h,className:p,emptyHint:g,sectionType:f="page",disc:b,notice:x}){const{t:v,i18n:C}=he.useTranslation(),y=C.language?.startsWith("ko")??!1,{anchorRect:_,openAt:k,close:w}=So(),[A,T]=l.useState(null),S=l.useCallback(()=>{w(),T(null)},[w]);Al(S,!!A);const D=(r??"").trim(),H=/^[^,[\]\s]+$/.test(D)?D:"",R=H.length>0,[E,$]=l.useState("ganada"),[B,F]=l.useState("50"),[J,Q]=l.useState(1),[ae,N]=l.useState(R);ae!==R&&(N(R),$(R?"match":"ganada"));const L=E==="match"&&!R?"ganada":E,P=l.useMemo(()=>[...R?[{value:"match",label:v("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],{value:"ganada",label:v("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:v("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:v("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:v("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:v("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:v("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[v,R]),V=l.useMemo(()=>["10","25","50","100"].map(z=>({value:z,label:v("wordSearch.pageSize",{count:Number(z),defaultValue:`${z}\uAC1C\uC529 \uBCF4\uAE30`})})),[v]),W=z=>z.words[0],ee=l.useCallback((z,X)=>{const Z=He=>W(He)?.label??"",be=He=>W(He)?.syllables??[...Z(He)].length,je=He=>{const Le=parseInt(W(He)?.grade??"",10);return Number.isFinite(Le)?Le:999};switch(L){case"match":{const He=[...H].length,Le=Te=>bo(Z(Te).slice(0,He),H)?0:1;return Le(z)-Le(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 be(z)-be(X)||Z(z).localeCompare(Z(X),"ko");case"syllable_desc":return be(X)-be(z)||Z(z).localeCompare(Z(X),"ko");case"grade":return je(z)-je(X)||Z(z).localeCompare(Z(X),"ko");case"grade_desc":return je(X)-je(z)||Z(z).localeCompare(Z(X),"ko");default:return 0}},[L,H]),I=l.useMemo(()=>n.slice().sort(ee),[n,ee]),q=Number(B)||10,O=l.useMemo(()=>(i??[]).flatMap(z=>z.items.slice().sort(ee).map(X=>({item:X,label:z.label}))),[i,ee]),ie=i?O.length:I.length,de=Math.max(1,Math.ceil(ie/q)),fe=Math.min(J,de),xe=l.useMemo(()=>I.slice((fe-1)*q,fe*q),[I,fe,q]),me=l.useMemo(()=>{if(!i)return null;const z=O.slice((fe-1)*q,fe*q),X=new Map;for(const{item:Z,label:be}of z)X.has(be)||X.set(be,[]),X.get(be).push(Z);return[...X.entries()].map(([Z,be])=>({label:Z,items:be}))},[i,O,fe,q]);l.useEffect(()=>{Q(1)},[E,B,ie]);const M=ie>0?o.jsxs("div",{className:"word-search-result-block__toolbar",children:[o.jsx(Ut,{size:40,options:P,value:L,onChange:$,ariaLabel:v("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),o.jsx(Ut,{size:40,options:V,value:B,onChange:F,ariaLabel:v("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),o.jsx(_r,{page:fe,totalPages:de,onChange:Q})]}):void 0,Y=z=>{c&&c(z)},re=t!==void 0&&a?o.jsxs(o.Fragment,{children:[v("wordSearch.resultTitlePrefix","\uCD1D "),o.jsx("span",{style:{color:"var(--color-main)"},children:t}),v("wordSearch.resultTitleSuffix",{unit:y?Pi(a):a})]}):void 0,we=t!==void 0&&t>0&&d!==void 0&&a?v("wordSearch.resultDisc",{unit:y?Ii(a):a,max:d,selected:s.length}):void 0,ce=b??(x?o.jsxs(o.Fragment,{children:[o.jsx("span",{className:"word-search-result-block__notice",children:x}),we?o.jsx("span",{className:"word-search-result-block__disc",children:we}):null]}):we);return o.jsxs(io,{type:f,icon:e,title:re,action:M,disc:ce,className:Ce("word-search-result-block",p),children:[o.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&o.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[o.jsx("p",{className:"word-search-result-block__empty body-3",children:v("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),g&&o.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:g})]}),i?(me??[]).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:be=>{k(be.currentTarget),T(X.words)},onMouseLeave:S,children:o.jsx(ne,{size:"word",align:"grid",label:X.words.map(be=>be.label),subLabel:X.words.map(be=>be.subLabel).filter(Boolean).length>0?X.words.map(be=>be.subLabel):void 0,selected:Z,onClick:()=>Y(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:()=>Y(z.id),minWidth:200})},z.id)})}),A&&_&&o.jsx(Hc,{words:A,anchorRect:_})]}),de>1&&o.jsx("div",{className:"word-search-result-block__pagination-bottom",children:o.jsx(_r,{page:fe,totalPages:de,onChange:Q})}),(u||m)&&o.jsxs("div",{className:"word-search-result-block__actions",children:[u&&o.jsx(ne,{size:"56",type:"bar",label:v("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:u}),m&&o.jsx("div",{onClick:s.length===0?h:void 0,children:o.jsx(ne,{size:"56",type:"bar",variant:"main",label:v("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:m})})]})]})}var V7='.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}}';te(V7);function W7(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 ag({sections:e,selectedList:t,count:a,onCountChange:r,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:m,title:h,titleIcon:p,disc:g,showInfoButton:f=!1,onClearPhoneme:b,onSearch:x,onSearchEmpty:v,searchDisabled:C=!1,searchLabel:y,searchChecking:_=!1,pairMode:k=!1,sectionType:w="page",beforeSearchContent:A,beforeContent:T,afterContent:S,hideCountControl:D=!1,ordinal:H=!1}){const{t:R}=he.useTranslation(),E=l.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),$=l.useMemo(()=>Array.from({length:n-i+1},(I,q)=>{const O=i+q;return{key:String(O),label:R("wordPairs.count",{n:O})}}),[R,n,i]),B=l.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),F=l.useCallback(I=>H?R("wordPairs.phonemeOrdinalLabel",{ordinal:B[I-1]??I}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:I}),[H,B,a,R]),J=l.useCallback(I=>H?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:B[I-1]??I}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:I}),[H,B,a,R]),Q=l.useCallback((I,q)=>q?o.jsxs(o.Fragment,{children:[I,o.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):I,[]),{anchorRect:ae,toggleAt:N,close:L}=So(),P=l.useCallback(I=>r(Number(I)),[r]),V=ta("(max-width: 767px)"),W=l.useCallback(I=>W7(I,e).map(({label:q,value:O,displayLabel:ie})=>{const de=!!O&&O!=="\uC5C6\uC74C";return o.jsxs("span",{className:Ce("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",de?"":"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}),de&&o.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:ie??q})]},q)}),[e,u]),ee=o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-tooltip-ignore":!0,children:o.jsx(ne,{size:40,type:V?"dot":void 0,icon:"info",label:V?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),selected:!!ae,onClick:I=>N(I.currentTarget)})}),ae&&o.jsx(Wa,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:E,anchorRect:ae,onClose:L})]});return o.jsxs(io,{type:w,title:h,icon:p,disc:g,action:ee,className:Ce("phoneme-select-block",m),children:[T,(!D||f&&!(h||g))&&o.jsxs("div",{className:"phoneme-select-block__controls",children:[!D&&o.jsx(Ya,{options:$,value:String(a),onChange:P,size:40,className:"phoneme-select-block__count-control"}),f&&!(h||g)&&ee]}),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:F(q+1)})]},q)})}),o.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),o.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2+1]??{};return o.jsxs("div",{className:"phoneme-select-block__cell",children:[o.jsx("div",{className:"phoneme-select-block__cell-circle",children:o.jsx("div",{className:"phoneme-select-block__cell-jamo",children:W(O)})}),o.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:J(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:F(q+1)})]},q))}),(s||c)&&o.jsx("div",{className:"phoneme-select-block__panels",children:o.jsx("div",{className:"phoneme-select-block__detail",children:k?o.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2]??{};return o.jsx(_a,{title:Q(F(q+1),q===0),sections:c?c(O,q*2):s,selected:O,onSelect:d?.(q*2),align:"newline"},q)})}),o.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((I,q)=>{const O=t[q*2+1]??{};return o.jsx(_a,{title:J(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(_a,{title:Q(F(q+1),q===0),sections:c?c(I,q):s,selected:I,onSelect:d?.(q),align:"newline"},q))})}),A&&o.jsx("div",{className:"phoneme-select-block__before-search",children:A}),(b||x||_)&&(()=>{const I=t.every(q=>Object.entries(q).every(([O,ie])=>!ie||O==="\uC885\uC131"&&ie==="\uC5C6\uC74C"));return o.jsxs("div",{className:"phoneme-select-block__search-row",onClick:I?v:void 0,children:[b&&o.jsx(ne,{size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:I,onClick:I?void 0:b}),_?o.jsxs("div",{className:"phoneme-select-block__checking",children:[o.jsx("div",{className:"phoneme-select-block__spinner"}),o.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:y??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):x&&o.jsx(ne,{size:"56",type:"bar",variant:"main",label:y??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:I||C,onClick:I||C?void 0:x})]})})(),S]})}function og({title:e,sections:t,selected:a,onSelect:r,className:n}){const{t:i}=he.useTranslation();return o.jsx(_a,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:r,align:"inline"})}function rg({title:e,headerAction:t,sections:a,selected:r,onSelect:n,className:i}){const{t:s}=he.useTranslation();return a.length===0?null:o.jsx(_a,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:r,onSelect:n,align:"newline"})}function ng({title:e,mode:t,onModeChange:a,matchMode:r,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:d,className:u}){const{t:m}=he.useTranslation(),h={searchMode:m("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:m("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:m("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:m("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:m("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:m("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:m("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:m("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:m("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:m("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:m("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},p=x=>m("wordPairs.count",{n:x}),g=[{label:h.searchMode,items:[h.include,h.pick,h.explicit],display:"segmented",labelAction:o.jsx(Bo,{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(Bo,{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(Bo,{title:m("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[m("wordPairs.input.infoChar","\uAE00\uC790 \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uB2E8\uC5B4(\uAE00\uC790 \uAE30\uC900)\uB97C \uCC3E\uC740 \uD6C4, \uB2E8\uC5B4\uC758 \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4."),m("wordPairs.input.infoPron","\uBC1C\uC74C \uC120\uD0DD \u2014 \uC120\uD0DD\uD55C \uC74C\uC18C\uB85C \uD45C\uC900 \uBC1C\uC74C \uB300\uB9BD\uC30D\uC744 \uCC3E\uC2B5\uB2C8\uB2E4.")]})}],f={[h.searchMode]:t==="explicit"?h.explicit:t==="pick"?h.pick:h.include,[h.phonemeOrder]:r==="ordered"?h.orderMatch:h.orderAny,[h.count]:p(i),[h.inputMode]:c==="phoneme"?h.pronInput:h.charInput},b=(x,v)=>{v===h.searchMode?a(x===h.explicit?"explicit":x===h.pick?"pick":"include"):v===h.phonemeOrder?n(x===h.orderMatch?"ordered":"unordered"):v===h.count?s(x===p(2)?2:1):v===h.inputMode&&d(x===h.pronInput?"phoneme":"word")};return o.jsx(_a,{className:u,title:e??m("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:g,selected:f,onSelect:b,align:"inline"})}var G7=".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}";te(G7);function ig(e){const{title:t,items:a,columns:r,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:m,onSelect:h,onClose:p,pageSizeOptions:g=[10,25,50,100],initialPageSize:f,emptyText:b,countLabel:x,topContent:v,className:C=""}=e,{t:y}=he.useTranslation(),_=i??y("common.search","\uAC80\uC0C9"),k=b??y("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,A]=l.useState(""),[T,S]=l.useState(c??r[0]?.key??""),[D,H]=l.useState(d),[R,E]=l.useState(String(f??g[0]??10)),[$,B]=l.useState(1);l.useEffect(()=>{B(1)},[w,R]);const F=s!==null,J=l.useCallback((I,q)=>{if(!q)return!0;const O=q.toLowerCase();return r.some(ie=>{const de=I[ie.key];return de==null?!1:String(de).toLowerCase().includes(O)})},[r]),Q=s??J,ae=l.useMemo(()=>{const I=F?a.filter(q=>Q(q,w)):a;return T?[...I].sort((q,O)=>{const ie=q[T]??"",de=O[T]??"";if(ie===de)return 0;const fe=I8(ie,de);return D?fe:-fe}):I},[a,w,T,D,F,Q]),N=Math.max(1,Math.ceil(ae.length/Number(R))),L=ae.slice(($-1)*Number(R),$*Number(R)),P=l.useCallback(I=>{T===I?H(q=>!q):(S(I),H(!0))},[T]),V=l.useMemo(()=>{if(typeof x=="string"&&x.includes("{n}")){const[I,q]=x.split("{n}");return{prefix:I,suffix:q}}return{prefix:y("common.totalCountPrefix","\uCD1D "),suffix:y("common.totalCountSuffix","\uAC1C")}},[x,y]),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]),ee=l.useMemo(()=>g.map(I=>({value:String(I),label:y("common.pageSizeLabel",{n:I})})),[g,y]);return o.jsxs(ja,{className:`popup-list ${C}`,title:t,onClose:p,children:[v,o.jsx(Cn,{count:{value:ae.length,prefix:V.prefix,suffix:V.suffix},search:F?{value:w,onChange:A,placeholder:_}:void 0,pageSize:{options:ee,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 sg(e){const{title:t,message:a,topContent:r,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:m="main",confirmDisabled:h=!1,onConfirm:p,closeOnConfirm:g=!0,onClose:f,inline:b,size:x="small",className:v}=e,{t:C}=he.useTranslation(),y=l.useRef(!1),[_,k]=l.useState(!1);return o.jsxs(ja,{title:t,onClose:f,closeDisabled:_,inline:b,size:x,className:Ce("confirm-popup",v),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||_,onClick:async({closeWithAnimation:w})=>{if(!y.current){y.current=!0,k(!0);try{await u.onClick(w),(u.closeOnClick??!0)&&w()}finally{y.current=!1,k(!1)}}}}]:[],...d?[]:[{label:c??C("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:_,onClick:({closeWithAnimation:w})=>w()}],{label:s??C("common.confirm","\uD655\uC778"),variant:m,disabled:h||_,onClick:async({closeWithAnimation:w})=>{if(!y.current){y.current=!0,k(!0);try{await p(w),g&&w()}finally{y.current=!1,k(!1)}}}}],children:[r!=null&&o.jsx("div",{className:"confirm-popup__top",children:r}),n&&n.length>0&&o.jsx(Sr,{children:n.map((w,A)=>o.jsx(Ta,{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 U7=".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}";te(U7);function lg({onApply:e,onCancel:t}){const{t:a}=he.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(ja,{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 Y7=".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}";te(Y7);const cg=200;function q7(e){return e.itemId?(xs()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function dg({plan:e,anchorRect:t,offset:a=12,onClose:r}){const{t:n}=he.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=q7(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(Na,{anchorRect:t,offset:a,onClose:r,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}var K7=".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}";te(K7);const ug=["var(--color-main)","var(--color-sub)"];function Vc({active:e=!1,count:t=40,duration:a=2e3,strength:r=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const b=Math.floor(t/2),x=t-b,v=(C,y)=>Array.from({length:C}).map((_,k)=>{const w=6+Math.random()*12,A=Math.round(Math.min(18,w*Math.min(1.5,1+r*.4))),T=ug[Math.floor(Math.random()*ug.length)],S=Math.random()*300,D=(360+Math.random()*260)*r*1.2,H=(y==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(H)*D,E=Math.sin(H)*D*1.35,$=Math.random()*720-360,B=(1200+Math.random()*3e3)*Math.min(1.6,1+r*.3),F=Math.random()>.7?"50%":"3px";return{id:`${y}-${k}`,side:y,size:A,color:T,delay:S,vx:R,vy:E,angularVel:$,life:B,borderRadius:F}});return[...v(b,"left"),...v(x,"right")]},[t,r]),c=l.useRef(null),d=l.useRef({}),u=l.useRef(null),m=l.useRef(n);l.useEffect(()=>{m.current=n},[n]);const h=l.useRef(null),p=l.useRef(null),g=()=>{if(typeof document>"u")return null;let b=document.querySelector("[data-ihab-effect-root]");return b||(b=document.createElement("div"),b.className="app-effect",b.dataset.ihabEffectRoot="",b.style.position="fixed",b.style.inset="0",b.style.pointerEvents="none",b.style.zIndex="99998",document.body.appendChild(b)),b};if(typeof document<"u"&&p.current==null&&(p.current=g()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){m.current?.();return}const b=1200,x=performance.now(),v=p.current&&p.current!==document.body?p.current.getBoundingClientRect():null,C=Math.max(60,(window.innerHeight||800)*.05),y=N=>Math.max(40,(N||window.innerWidth)*.02),_=v?.width||window.innerWidth||375,k=v?.height||window.innerHeight||812,w=N=>{const L=[...N].sort((P,V)=>P-V);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+C))/A,D=A*S/b,H=_*.5/(T*D),R=(N,L,P)=>Math.min(P,Math.max(L,N)),E=R(S,.8,2.4),$=R(H,.7,2.2),B=s.map(N=>({...N,vx:N.vx*$,vy:N.vy*E,startTime:x+N.delay,ended:!1})),F=v?{x:v.left-y(v.width),y:v.top+v.height+C}:{x:-y(window.innerWidth),y:window.innerHeight+C},J=v?{x:v.left+v.width+y(v.width),y:v.top+v.height+C}:{x:window.innerWidth+y(window.innerWidth),y:window.innerHeight+C},Q=N=>{let L=!1;for(const P of B){const V=d.current[P.id];if(!V||!V)continue;if(N<P.startTime){V.style.display="none";continue}if(!P._inited){const me=P.side==="left"?F.x:J.x,M=P.side==="left"?F.y:J.y;V.style.left=`${me}px`,V.style.top=`${M}px`,V.style.transform="translate3d(0px, 0px, 0)",V.style.display="block",V.style.zIndex="100000";try{if(typeof window<"u"&&typeof P.color=="string"&&P.color.startsWith("var(")){const Y=P.color.slice(4,-1).trim(),re=getComputedStyle(document.documentElement).getPropertyValue(Y).trim();re?V.style.background=re:V.style.background="#FF0060"}}catch{}P._inited=!0}const W=(N-P.startTime)/1e3;if(W<0)continue;const ee=P.life/1e3;if(W>=ee){V.style.opacity="0",V.style.display="none",P.ended=!0;continue}L=!0;const I=P.side==="left"?F.x:J.x,q=P.side==="left"?F.y:J.y,O=I+P.vx*W,ie=q+P.vy*W+.5*b*W*W,de=(P.angularVel||0)*W,fe=O-I,xe=ie-q;V.style.transform=`translate3d(${fe}px, ${xe}px, 0) rotate(${de}deg)`,V.style.opacity=`${Math.max(0,1-W/ee)}`}L?u.current=requestAnimationFrame(Q):m.current?.()};u.current=requestAnimationFrame(Q);const ae=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 V=L.color;try{if(typeof V=="string"&&V.startsWith("var(")){const W=V.slice(4,-1).trim(),ee=getComputedStyle(document.documentElement).getPropertyValue(W).trim();ee&&(V=ee)}}catch{}P.style.background=V,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(ae),h.current){try{h.current.remove()}catch{}h.current=null}}},[e,a,i,s]),!e)return null;const f=o.jsx("div",{className:"party-container",ref:c,children:s.map(b=>o.jsx("span",{"aria-hidden":!0,ref:x=>{d.current[b.id]=x},className:`confetti confetti--${b.side}`,style:{width:`${b.size}px`,height:`${Math.max(4,b.size*.6)}px`,background:b.color,borderRadius:b.borderRadius}},`${b.id}-${i}`))});return typeof document<"u"?Wt.createPortal(f,p.current||document.body):f}function pg({trigger:e=0,active:t=!1}){const a=l.useRef(0);return l.useEffect(()=>{a.current=e},[e]),o.jsx(Vc,{active:t,trigger:e})}var Z7=".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}";te(Z7);function hg({title:e,sub:t,rightAction:a,titleAction:r,badge:n,badgeVariant:i="default",documentTitle:s,onBack:c,backLabel:d}){const{t:u}=he.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(ut,{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 mg(e){return e??""}const bg=l.createContext({words:[],loading:!1});function gg(){return l.useContext(bg)}function fg({words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return o.jsx(bg.Provider,{value:{words:e,loading:t,error:a,statusMessage:r,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var X7=".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)}";te(X7);function vg({items:e,actions:t,columns:a,flat:r=!1,className:n,style:i}){const s=a??e.length;return o.jsx("section",{className:Ce("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 J7='.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}}';te(J7);const Q7=(e,t)=>`${e} / ${t}`;function xg({blocks:e,sectionTitles:t,logo:a,footer:r,pageLabel:n=Q7,pageWidth:i,pageHeight:s,margin:c,className:d,style:u}){const{t:m}=he.useTranslation(),h=l.useRef(null),p=l.useRef(null),g=l.useRef(null),f=l.useRef(null),[b,x]=l.useState(null),[v,C]=l.useState(!1);l.useEffect(()=>{const D=h.current;if(!D)return;const H=()=>C(D.scrollWidth>D.clientWidth+1);if(H(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(H);return R.observe(D),()=>R.disconnect()},[b]);const y=e.map(D=>`${D.id}\0${D.section??""}\0${D.group??""}`).join("");l.useLayoutEffect(()=>{const D=p.current,H=f.current;if(!D||!H)return;const R=g.current?.offsetHeight??0,E=H.offsetHeight-R,$=Array.from(D.children).map(N=>N.offsetHeight),B=[];e.forEach((N,L)=>{const P=B[B.length-1],V=P?e[P[0]]:void 0;V&&N.group!=null&&V.group===N.group?P.push(L):B.push([L])});const F=[];let J=[],Q=0;const ae=()=>{J.length&&F.push(J),J=[],Q=0};B.forEach(N=>{const L=N.reduce((P,V)=>P+$[V],0);J.length&&e[J[0]].section!==e[N[0]].section&&ae(),J.length&&Q+L>E&&ae(),L>E?N.forEach(P=>{J.length&&Q+$[P]>E&&ae(),J.push(P),Q+=$[P]}):(N.forEach(P=>J.push(P)),Q+=L)}),ae(),x(F)},[y]);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,H,R)=>({header:o.jsxs("div",{className:"report-doc__header",children:[o.jsx("h2",{className:"report-doc__title h3b",children:R!=null&&t?.[R]||null}),a]}),footer:o.jsxs("div",{className:"report-doc__footer caption-1",children:[o.jsx("span",{className:"report-doc__footer-left",children:w}),o.jsx("span",{className:"report-doc__page-no",children:n(D,H)})]})}),T=A(1,1,e[0]?.section),S={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...u};return o.jsxs("div",{ref:h,className:Ce("report-doc",d),style:S,tabIndex:v?0:void 0,role:v?"group":void 0,"aria-label":v?m("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[o.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[o.jsx("div",{ref:f,className:"report-doc__ruler"}),o.jsxs("div",{ref:g,children:[T.header,T.footer]}),o.jsx("div",{ref:p,className:"report-doc__measure-blocks",children:e.map(D=>o.jsx("div",{children:D.content},D.id))})]}),b&&o.jsx("div",{className:"report-doc__pages",children:b.map((D,H)=>{const{header:R,footer:E}=A(H+1,b.length,e[D[0]].section);return o.jsxs("section",{className:"report-doc__page",children:[R,D.map($=>o.jsx("div",{children:e[$].content},e[$].id)),E]},H)})})]})}var ek=".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}";te(ek);function _g({title:e,fields:t,columns:a=4,className:r,style:n}){return o.jsxs("div",{className:Ce("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 tk=".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%}";te(tk);function Cg({title:e,message:t,actionLabel:a,onAction:r,icon:n,onClose:i,className:s=""}){const{t:c}=he.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8");return o.jsxs("div",{className:Ce("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(dd,{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 ak=".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}";te(ak);function yg({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:Ce("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 ok=".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}";te(ok);function wg({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}=he.useTranslation(),b=r!=null,x=Ce("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",b&&"training-card-group--collapsible",g);return o.jsxs("div",{className:x,onDragOver:u,onDragLeave:m,onDrop:h,children:[o.jsxs("header",{className:"training-card-group__header",children:[b&&o.jsx(ne,{size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?f("common.expand","\uD3BC\uCE58\uAE30"):f("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron",onClick:r}),typeof e=="string"?o.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&o.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&o.jsxs("span",{className:"training-card-group__actions",onClick:v=>v.stopPropagation(),children:[n&&o.jsx(Ut,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?o.jsx("div",{className:"training-card-group__empty body-3",children:c}):o.jsx("div",{className:"training-card-group__grid",children:p}))]})}var rk=".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}}";te(rk);const nk="speechear:saved_word_tables";function ik(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 sk(){try{const e=localStorage.getItem(nk);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(ik):[]}catch{return[]}}function kg({title:e,titleIcon:t,disc:a,items:r,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:m,onReorder:h,showCellCount:p,onAddItem:g,className:f,renderSavePopup:b,renderWordSearch:x,hideControls:v,saveOnly:C,tableName:y,nameValue:_,onNameChange:k,descriptionValue:w,onDescriptionChange:A,namePlaceholder:T,descriptionPlaceholder:S,existingNames:D,editingName:H,onCancel:R}){const{t:E}=he.useTranslation(),$=d??E("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),B=r===void 0,F=!!k,[J,Q]=l.useState([]),ae=(_??"").trim(),N=ae||(T??"").trim(),L=(w??"").trim()||(S??"").trim(),P=(D??[]).map(ue=>ue.trim().toLowerCase()),V=[H?.trim().toLowerCase(),...J].filter(ue=>!!ue),W=[...P];for(const ue of V){const ke=W.indexOf(ue);ke!==-1&&W.splice(ke,1)}const ee=ae!==""&&W.includes(ae.toLowerCase()),[I,q]=l.useState(Array(4).fill(null)),[O,ie]=l.useState(4),[de,fe]=l.useState(null),[xe,me]=l.useState("landscape"),[M,Y]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[re,we]=l.useState("\uD45C\uC2DC"),[ce,z]=l.useState(!0),[X,Z]=l.useState(!0),be=l.useRef(null),je=l.useRef([]),[He,Le]=l.useState(8),[Te,Ee]=l.useState("right"),[Se,Ve]=l.useState(!1),[qe,_e]=l.useState(!1),{toastMessage:Oe,toastType:Re,showWarning:Ge,clearToast:Xe}=vn("warning"),et=l.useCallback(()=>fe(null),[fe]),[Ie,xt]=l.useState(()=>Math.max(r?.length??1,1));l.useEffect(()=>{B||xt(ue=>Math.max(ue,r?.length??1))},[r?.length,B]);const nt=B?O:p?Math.max(Ie,r?.length??1):Math.max(r?.length??0,1),{width:Je,height:st}=so[xe],Pe=!B&&!p,Me=r?.length??0,lt=Math.min(He,Math.max(Me,1)),_t=Pe?lt:nt,Ye=Pe?Fm(r??[],_t):null,ct=!!Ye&&Ye.length>1,Ct=B?I.some(ue=>ue!==null&&ue.length>1):(r??[]).some(ue=>ue.words.length>1),Yt=y?.trim()||`${Qr(Xr())} ${Ct?E("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):E("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,at=l.useCallback(()=>ct?je.current.filter(ue=>ue!==null):be.current?[be.current]:[],[ct]),{print:Et,openNewWindow:Ft,downloadHtml:ra}=Tn({getElements:at,paperW:Je,paperH:st,fileName:Yt,onPopupBlocked:()=>{Ge(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."))}}),na=ue=>{ie(ue),q(ke=>{const Ke=Array(ue).fill(null);return ke.slice(0,ue).forEach((ht,ft)=>{Ke[ft]=ht}),Ke}),fe(null)},Ca=ue=>{q(ke=>{const Ke=[...ke];return Ke[ue]=null,Ke}),de===ue&&fe(null)},qt=ue=>{if(de===null)return;const ke=de;q(ht=>{const ft=[...ht];return ft[ke]=ue,ft});const Ke=I.findIndex((ht,ft)=>ft>ke&&ht===null);fe(Ke!==-1?Ke:null)},Ma=B?I.some(ue=>ue?.some(ke=>!!ke.colloquialPronunciation)):(r??[]).some(ue=>ue.words.some(ke=>!!ke.colloquialLabel)),Tt=l.useMemo(()=>Pa()?B?I.flatMap(ue=>(ue??[]).map(ke=>[ke.word,ke.homonum])):(r??[]).flatMap(ue=>ue.words.map(ke=>[ke.label,ke.homonum])):[],[B,I,r]),[$a,Rt]=l.useState(!1);l.useEffect(()=>{if(Tt.length===0)return;let ue=!1;return Promise.all(Tt.map(([ke,Ke])=>qo(ke,Ke))).then(ke=>{ue||Rt(ke.some(Boolean))}),()=>{ue=!0}},[Tt]);const ya=Tt.length>0&&$a,wa=l.useMemo(()=>[...B||p?[{label:E("wordTable.filter.columns","\uCE78 \uC218"),items:T8.map(ue=>({value:`${ue}\uCE78`,displayLabel:E("wordTable.filter.column",{count:ue})})),display:"segmented"}]:[],...Pe&&(r?.length??0)>0?[Km(E,{hasPairs:Ct,itemCount:Me})]:[],...ct?[Zm(E)]:[]],[E,B,p,Pe,r?.length,Ct,Me,ct]),Qe={...B||p?{[E("wordTable.filter.columns","\uCE78 \uC218")]:`${B?O:Ie}\uCE78`}:{},...Pe&&(r?.length??0)>0?{[E(Ct?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${lt}\uAC1C`}:{},...ct?{[E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:Xm[Te]}:{}},Ht=(ue,ke)=>{ke===E("wordTable.filter.columns","\uCE78 \uC218")?B?na(parseInt(ue)):xt(parseInt(ue)):ke===E(Ct?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?Le(parseInt(ue)):ke===E("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&Ee(Jm(ue))},Dt=B?I.filter(ue=>ue!==null).map(ue=>({id:ue[0].word,words:ue.map(ke=>({label:ke.word,subLabel:ke.pronunciation,homonum:ke.homonum}))})):r??[],Kt=(ue=!1)=>{if(_e(ue),F&&n){const ke=N.trim().toLowerCase();ke&&Q(Ke=>Ke.includes(ke)?Ke:[...Ke,ke]),n(N,Dt,L||void 0,ue);return}if(C&&n){n("",Dt,void 0,ue);return}if(n){Ve(!0);return}ra()},[ia,sa]=l.useState(!1),[la,le]=l.useState(""),ge=la.trim(),G=ge!==""&&P.includes(ge.toLowerCase()),oe=()=>{le(N?`${N} (\uBCF5\uC0AC)`:""),sa(!0)},ve=()=>{!ge||G||!n||(n(ge,Dt,L||void 0,!0),sa(!1))},ye=Dt.length===0,Be=ye||F&&(N===""||ee),Ne=()=>{if(ye){Ge(E("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(F&&N===""){Ge(E("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}F&&ee&&Ge(E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},pt=o.jsx(lo,{items:Dt,orientation:xe,contentTypes:M,cutLine:re,showOutline:ce,showDivLine:X,count:nt});return o.jsxs(o.Fragment,{children:[o.jsxs(io,{type:"page",icon:t,title:e,disc:a,className:Ce("word-table-block",f),children:[ia&&o.jsx(ja,{size:"small",title:m??E("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>sa(!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:!ge||G,onClick:ve})]}),children:o.jsx(Ua,{label:E("wordTable.save.nameLabel","\uC774\uB984"),value:la,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:ve,error:G?E("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Se&&n&&b?.({defaultName:typeof e=="string"?e:E("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:pt,previewW:Je,previewH:st,items:Dt,existingNames:sk().map(ue=>ue.name),saveAsNew:qe,onSave:(ue,ke)=>{n(ue,Dt,ke,qe),Ve(!1)},onCancel:()=>Ve(!1)}),(B||g)&&de!==null&&x?.({cellIndex:de,onConfirm:B?qt:ue=>{if(g){const ke=ue[0];ke&&g({id:ke.word,words:[{label:ke.word,subLabel:ke.pronunciation,homonum:ke.homonum}]})}fe(null)},onClose:et}),!v&&o.jsx(En,{hasImage:ya,hasColloquial:Ma,contentTypes:M,orientation:xe,showOutline:ce,cutLine:re,showDivLine:X,setters:{setContentTypes:Y,setOrientation:me,setShowOutline:z,setCutLine:we,setShowDivLine:Z},showCutLine:(Pe?_t:nt)>1,showDivLine2:Ct,middleSections:wa,extraSelected:Qe,onExtraSelect:Ht}),ct&&Ye?o.jsx("div",{className:"word-table-block__pages",children:Ye.map((ue,ke)=>o.jsx(lo,{orientation:xe,contentTypes:M,cutLine:re,showOutline:ce,showDivLine:X,count:_t,items:ue,onRemoveItem:s,contentRef:Ke=>{je.current[ke]=Ke},pageNumber:{current:ke+1,total:Ye.length},pageNumberPosition:Te},ke))}):o.jsx(lo,{orientation:xe,contentTypes:M,cutLine:re,showOutline:ce,showDivLine:X,count:nt,items:B?void 0:r??[],editCells:B?I:void 0,activeCell:de,onActivateCell:B||g?fe:void 0,onRemoveCell:B?Ca:void 0,onRemoveItem:B?void 0:s,onReorder:B?void 0:h,showFillerAdd:!!g,contentRef:be}),F&&!v&&o.jsxs(Sr,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[o.jsx(Ta,{variant:"custom",label:E("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:o.jsx(Ua,{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:ee?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(Ta,{variant:"custom",label:E("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:o.jsx(Ua,{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??""))}})})]})]}),!v&&o.jsxs("div",{className:"word-table-block__actions",children:[o.jsxs("div",{className:"word-table-block__actions-left",children:[!C&&c&&o.jsx(ne,{size:40,type:"bar",label:$,onClick:c}),!C&&i&&o.jsx(ne,{size:40,type:"bar",label:E("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!C&&o.jsx(ne,{size:40,type:"bar",label:E("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Ft})]}),o.jsxs("div",{className:"word-table-block__actions-right",children:[R&&o.jsx(ne,{size:"56",type:"bar",label:E("common.cancel","\uCDE8\uC18C"),onClick:R}),!C&&o.jsx(ne,{size:"56",type:"bar",label:E("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:Et}),m&&o.jsx(ne,{size:"56",type:"bar",label:m,onClick:()=>F?oe():Kt(!0),disabled:ye,onDisabledClick:()=>{Ge(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:()=>Kt(!1),disabled:Be,onDisabledClick:Ne})]})]}),o.jsx(no,{message:Oe,type:Re,onClose:Xe})]})}var lk=".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%}";te(lk);function Wc({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:Ce("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 ck=".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}";te(ck);function Ag({items:e,name:t,description:a,createdAt:r,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:d,publisherName:u,publishedAt:m,likeCount:h,downloadCount:p,onPublisherClick:g,selected:f,onClick:b,onMore:x,titleNode:v,className:C}){const{t:y}=he.useTranslation(),_=v!=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:Ce("word-table-button",f?"word-table-button--selected":"",k?"":"word-table-button--no-footer",C),role:"button",tabIndex:0,"aria-label":t,onClick:_?void 0:b,onKeyDown:w,children:[d&&o.jsx("span",{className:"word-table-button__new-dot","aria-label":y("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),o.jsx(Wc,{items:e,className:"word-table-button__thumb"}),o.jsxs("div",{className:"word-table-button__info",children:[o.jsxs("div",{className:"word-table-button__info-text",children:[v??o.jsx("div",{className:"word-table-button__title h4",children:t}),a&&o.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),x&&!_&&o.jsx(ne,{className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:y("common.moreFor",{name:t}),onClick:A=>{A.stopPropagation(),x(A)}})]}),(r||n||s)&&o.jsxs("div",{className:"word-table-button__meta-row",children:[o.jsx("span",{className:"word-table-button__meta caption-1",children:r?Jr(r,y):""}),o.jsxs("span",{className:"word-table-button__badges",children:[n&&o.jsx(ut,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??"\uBC1C\uD589\uB428"}),s&&o.jsx(ut,{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,y)})]}),o.jsxs("span",{className:"word-table-button__store-stats",children:[h!=null&&o.jsx(ut,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(h)}),p!=null&&o.jsx(ut,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(p)})]})]})]})}/**
983
983
  * @license lucide-react v1.38.0 - ISC