@ihabdevteam/core 0.155.0 → 0.155.1

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"},H1={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"}}},W1={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},G1={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"}},U1={answer:"\uC815\uB2F5",distractor:"\uC624\uB2F5"},q1={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"},K1={ariaLabel:"\uC120\uD0DD \uD0ED"},Z1={ariaLabel:"\uD0ED"},X1={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},J1={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},Q1={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"}},ev={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"}},tv={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"}},av={manage:{unit:"\uAC74"}},ov={cancelLabel:"\uCDE8\uC18C"},rv={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},nv={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"},iv={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654"},sv={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"},lv={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},cv={selectYearMonth:"\uC5F0\uC6D4 \uC120\uD0DD",chooseDate:"\uB0A0\uC9DC \uC120\uD0DD"},dv={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},uv={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},pv={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"}},hv={clearSelection:"\uC120\uD0DD \uD574\uC81C"},mv={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},bv={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},gv={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},fv={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},vv={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},xv={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},yv={main:"\uBA54\uC778 \uADF8\uB77C\uB514\uC5B8\uD2B8",soft:"\uC18C\uD504\uD2B8",sub:"\uC11C\uBE0C \uCEEC\uB7EC",deep:"\uB525 \uADF8\uB77C\uB514\uC5B8\uD2B8",softSub:"\uC18C\uD504\uD2B8 \uC11C\uBE0C",warm:"\uC6DC(\uAC15\uC870)",dark:"\uB2E4\uD06C",radial:"\uBC29\uC0AC\uD615 \uADF8\uB77C\uB514\uC5B8\uD2B8",diagonal:"\uB300\uAC01\uC120 \uD328\uD134",dots:"\uB3C4\uD2B8 \uD328\uD134",outline:"\uC544\uC6C3\uB77C\uC778",success:"\uC131\uACF5/\uC644\uB8CC",naver:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8 \uC548\uB0B4",instagram:"\uC778\uC2A4\uD0C0\uADF8\uB7A8 \uC548\uB0B4"},Cv={common:i1,calendar:s1,passCard:l1,searchField:c1,rating:d1,colorPicker:u1,dropdown:p1,accordion:h1,header:m1,nav:b1,settings:g1,usage:f1,account:v1,help:x1,training:y1,trainingSettings:C1,customers:_1,payment:w1,coupons:k1,visits:A1,company:B1,trainingType:S1,myWordTraining:N1,myWordTable:E1,keyWords:D1,wordTable:T1,wordSearch:j1,wordPrint:L1,topic:M1,accessLinkManager:$1,login:R1,trainingPlanRun:P1,device:z1,manager:I1,wordPairs:O1,game:F1,footer:V1,landing:H1,date:W1,trainingSetPage:G1,wordTrainingPreview:U1,wordData:q1,textField:Y1,segmentedControl:K1,tabs:Z1,fileUpload:X1,avatar:J1,myHomework:Q1,trainingStatus:ev,store:tv,homework:av,inquiry:ov,progress:rv,trainingMiss:nv,table:iv,wordScore:sv,topBanner:lv,datePicker:cv,report:dv,tooltip:uv,phonemeProfile:pv,bulkBar:hv,debug:mv,badge:bv,loader:gv,soundCompass:fv,breadcrumb:vv,board:xv,promoBannerBg:yv},_v={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"}},unknownError:"Unknown error",networkError:"The network connection is unstable. Check your connection and try again."},wv={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"},kv={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"}},Av={clearAriaLabel:"Clear search"},Bv={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},Sv={selected:"selected"},Nv={placeholder:"Select"},Ev={collapse:"Collapse",expand:"Expand"},Dv={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},Tv={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",badgeLabel:"{{label}}, {{count}}"},jv={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."}}},Lv={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"}},Mv={profile:{planSuffix:"",plan:"Plan"},basicInfo:{name:{placeholder:"John Doe"}},security:{title:"Security",password:{label:"Password",currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."},twoFactor:{label:"Two-Factor Authentication",sub:"Strengthen your account security"}}},$v={guide:{faq:{title:"FAQ",desc:"View all frequently asked questions"}}},Rv={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",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",selectInOrder:"Select the cards in the order you heard.",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.",ttsUnavailable:"Speech playback isn't available on this device.",selectConfirm:"Look at the question and select the answer.",orderListDefault:"Arrange the sentences in the order you heard.",result:{pendingDone:"Results are still being calculated, so you can't finish yet.",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",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{idle:"Idle",resolving:"Resolving\u2026",checking_exists:"Checking file\u2026",getting_signed_url:"Getting URL\u2026",downloading:"Downloading\u2026",measuring_duration:"Measuring length\u2026",ready:"Ready",error:"Error"}},Pv={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"},zv={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"},duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},Iv={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},Ov={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"}},Fv={unitVisit:"",periodAll:"All",showN:"Show {{n}}"},Vv={subtitle:"Manage company and business information",editButton:"Edit Info",basicInfo:{title:"Basic Info"},contactInfo:{title:"Contact Info"}},Hv={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."}},Wv={comingSoon:"Word training is coming soon."},Gv={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"},publishedBadge:"Published",sharedBadge:"Shared"},Uv={title:"Key Words",empty:"No key words available."},qv={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)",copyName:"{{name}} (copy)"},loadTable:{title:"Load Saved Word Table",empty:"No saved word tables.",loadButton:"Load",itemCount:"{{count}} words",deleteAriaLabel:"Delete {{name}}",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"},info:{grade:"Grade: {{n}}",syllables:"Syllables: {{n}}",pos:"Part of speech: {{v}}",wordType:"Type: {{v}}"},pos:{noun:"Noun",verb:"Verb",adjective:"Adjective",adverb:"Adverb",numeral:"Numeral",determiner:"Determiner",interjection:"Interjection",particle:"Particle",affix:"Affix",dependentNoun:"Dependent noun",pronoun:"Pronoun",auxVerb:"Auxiliary verb",auxAdjective:"Auxiliary adjective"},reorder:{moved:"Moved to position {{n}} of {{total}}",handle:"Reorder {{word}} (Alt + arrow keys)",hint:"Alt + \u2190 \u2192 to reorder"}},Yv={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",original:"Original order"},pageSize:"Show {{count}}",pageSizeAria:"Page size",popup:{title:"Select a word for cell {{n}}"}},Kv={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},Zv={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"}},Xv={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"}},Jv={passwordPlaceholder:"Enter password"},Qv={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",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant"}},ex={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"}},tx={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."]},ax={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"}},ox={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"},rx={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"}}},nx={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},ix={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},sx={answer:"Answer",distractor:"Distractor"},lx={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},cx={clearAriaLabel:"Clear input"},dx={ariaLabel:"Select tab"},ux={ariaLabel:"Tabs"},px={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},hx={ariaLabel:"User avatar"},mx={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"}},bx={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"}},gx={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)"}},fx={manage:{unit:"item(s)"}},vx={cancelLabel:"Cancel"},xx={subtitle:"Select a topic to start listening practice."},yx={steps:"Step {{current}} of {{total}}"},Cx={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"},_x={resetColumns:"Reset column widths"},wx={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}}"},kx={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Ax={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Bx={previewRegion:"Report preview \u2014 scrollable sideways"},Sx={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Nx={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Ex={clearSelection:"Clear selection"},Dx={showResult:"Show {{type}} result"},Tx={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},jx={loading:"Loading"},Lx={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Mx={ariaLabel:"Breadcrumb"},$x={empty:"No items yet."},Rx={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Px={common:_v,calendar:wv,passCard:kv,searchField:Av,rating:Bv,colorPicker:Sv,dropdown:Nv,accordion:Ev,header:Dv,nav:Tv,settings:jv,usage:Lv,account:Mv,help:$v,training:Rv,trainingSettings:Pv,customers:zv,payment:Iv,coupons:Ov,visits:Fv,company:Vv,trainingType:Hv,myWordTraining:Wv,myWordTable:Gv,keyWords:Uv,wordTable:qv,wordSearch:Yv,wordPrint:Kv,topic:Zv,accessLinkManager:Xv,login:Jv,device:Qv,manager:ex,wordPairs:tx,game:ax,footer:ox,landing:rx,date:nx,trainingSetPage:ix,wordTrainingPreview:sx,wordData:lx,textField:cx,segmentedControl:dx,tabs:ux,fileUpload:px,avatar:hx,myHomework:mx,trainingStatus:bx,store:gx,homework:fx,inquiry:vx,trainingPlanRun:xx,progress:yx,trainingMiss:Cx,table:_x,wordScore:wx,topBanner:kx,datePicker:Ax,report:Bx,tooltip:Sx,phonemeProfile:Nx,bulkBar:Ex,debug:Dx,badge:Tx,loader:jx,soundCompass:Lx,breadcrumb:Mx,board:$x,promoBannerBg:Rx};const An="0.155.0",kr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],xo="ko",rs="ihab_display_language";function Mu(){if(typeof window>"u")return xo;try{const e=localStorage.getItem(rs);if(e&&kr.some(t=>t.code===e))return e}catch{}return xo}function zx(e){try{localStorage.setItem(rs,e)}catch{}}function $u(e){try{document.documentElement.lang=e}catch{}}ut.on("languageChanged",$u),$u(Mu()),ut.use(be.initReactI18next).init({resources:{ko:{translation:Cv},en:{translation:Px}},lng:Mu(),fallbackLng:xo,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Ru=l.createContext({locale:xo,supportedLocales:kr});function Ix(){return l.useContext(Ru)}function Ox(e){const t=o=>kr.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:xo}function Fx({locale:e=xo,children:t}){const a=Ox(e);return l.useEffect(()=>{ut.language!==a&&ut.changeLanguage(a)},[a]),r.jsx(Ru.Provider,{value:{locale:a,supportedLocales:kr},children:t})}function Ee(...e){return e.filter(Boolean).join(" ")}var Vx=".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}";ne(Vx);const Pu=new Set,zu=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function yo(e,...t){!zu||Pu.has(e)||(Pu.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"},rx={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"}}},nx={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},ix={options:"Training Options",difficulty:"Difficulty",exclude:"Exclude",chosung:"Initial Consonant",excludeOptions:{none:"None",noImage:"No Image"}},sx={answer:"Answer",distractor:"Distractor"},lx={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},cx={clearAriaLabel:"Clear input"},dx={ariaLabel:"Select tab"},ux={ariaLabel:"Tabs"},px={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},hx={ariaLabel:"User avatar"},mx={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"}},bx={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"}},gx={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)"}},fx={manage:{unit:"item(s)"}},vx={cancelLabel:"Cancel"},xx={subtitle:"Select a topic to start listening practice."},yx={steps:"Step {{current}} of {{total}}"},Cx={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"},_x={resetColumns:"Reset column widths"},wx={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}}"},kx={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},Ax={selectYearMonth:"Select year and month",chooseDate:"Choose a date"},Bx={previewRegion:"Report preview \u2014 scrollable sideways"},Sx={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},Nx={devNone:"No acquisition data",place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},Ex={clearSelection:"Clear selection"},Dx={showResult:"Show {{type}} result"},Tx={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},jx={loading:"Loading"},Lx={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},Mx={ariaLabel:"Breadcrumb"},$x={empty:"No items yet."},Rx={main:"Main gradient",soft:"Soft",sub:"Sub color",deep:"Deep gradient",softSub:"Soft sub",warm:"Warm (accent)",dark:"Dark",radial:"Radial gradient",diagonal:"Diagonal pattern",dots:"Dot pattern",outline:"Outline",success:"Success / done",naver:"Naver blog notice",instagram:"Instagram notice"},Px={common:_v,calendar:wv,passCard:kv,searchField:Av,rating:Bv,colorPicker:Sv,dropdown:Nv,accordion:Ev,header:Dv,nav:Tv,settings:jv,usage:Lv,account:Mv,help:$v,training:Rv,trainingSettings:Pv,customers:zv,payment:Iv,coupons:Ov,visits:Fv,company:Vv,trainingType:Hv,myWordTraining:Wv,myWordTable:Gv,keyWords:Uv,wordTable:qv,wordSearch:Yv,wordPrint:Kv,topic:Zv,accessLinkManager:Xv,login:Jv,device:Qv,manager:ex,wordPairs:tx,game:ax,footer:ox,landing:rx,date:nx,trainingSetPage:ix,wordTrainingPreview:sx,wordData:lx,textField:cx,segmentedControl:dx,tabs:ux,fileUpload:px,avatar:hx,myHomework:mx,trainingStatus:bx,store:gx,homework:fx,inquiry:vx,trainingPlanRun:xx,progress:yx,trainingMiss:Cx,table:_x,wordScore:wx,topBanner:kx,datePicker:Ax,report:Bx,tooltip:Sx,phonemeProfile:Nx,bulkBar:Ex,debug:Dx,badge:Tx,loader:jx,soundCompass:Lx,breadcrumb:Mx,board:$x,promoBannerBg:Rx};const An="0.155.1",kr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],xo="ko",rs="ihab_display_language";function Mu(){if(typeof window>"u")return xo;try{const e=localStorage.getItem(rs);if(e&&kr.some(t=>t.code===e))return e}catch{}return xo}function zx(e){try{localStorage.setItem(rs,e)}catch{}}function $u(e){try{document.documentElement.lang=e}catch{}}ut.on("languageChanged",$u),$u(Mu()),ut.use(be.initReactI18next).init({resources:{ko:{translation:Cv},en:{translation:Px}},lng:Mu(),fallbackLng:xo,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Ru=l.createContext({locale:xo,supportedLocales:kr});function Ix(){return l.useContext(Ru)}function Ox(e){const t=o=>kr.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:xo}function Fx({locale:e=xo,children:t}){const a=Ox(e);return l.useEffect(()=>{ut.language!==a&&ut.changeLanguage(a)},[a]),r.jsx(Ru.Provider,{value:{locale:a,supportedLocales:kr},children:t})}function Ee(...e){return e.filter(Boolean).join(" ")}var Vx=".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}";ne(Vx);const Pu=new Set,zu=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function yo(e,...t){!zu||Pu.has(e)||(Pu.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.
@@ -1002,7 +1002,7 @@ ${y.badge}`:y.badge:void 0;if(w&&d(y.code))return null;if(!y.badge&&!h)return p(
1002
1002
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
1003
1003
  `).map((s,c,d)=>r.jsxs(l.Fragment,{children:[s,c<d.length-1&&r.jsx("br",{})]},c))})}),r.jsxs("div",{className:"site-footer__links",children:[r.jsxs("div",{className:"site-footer__column",children:[r.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.site.title","\uC0AC\uC774\uD2B8")}),r.jsxs("ul",{children:[r.jsx("li",{children:r.jsx("a",{className:"footer-link",href:"https://www.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:"IHAB"})}),r.jsx("li",{children:r.jsx("a",{className:"footer-link",href:"https://speechear.ihab.co.kr/",target:"_blank",rel:"noopener noreferrer",children:i("footer.site.malgwi","\uB9D0\uADC0")})}),r.jsx("li",{children:r.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")})}),r.jsx("li",{children:r.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")})}),r.jsx("li",{children:r.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")})})]})]}),r.jsxs("div",{className:"site-footer__column",children:[r.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.sns.title","SNS")}),r.jsxs("ul",{children:[r.jsx("li",{children:r.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")})}),r.jsx("li",{children:r.jsx("a",{className:"footer-link",href:"https://www.instagram.com/ihab.official.yt/",target:"_blank",rel:"noopener noreferrer",children:"Instagram"})}),r.jsx("li",{children:r.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"})})]})]}),r.jsxs("div",{className:"site-footer__column",children:[r.jsx("div",{className:"site-footer__column-title footer-title",children:i("footer.policy.title","\uC815\uCC45")}),r.jsxs("ul",{children:[r.jsx("li",{children:r.jsx("a",{className:"footer-link",href:"#",onClick:s=>{e&&(s.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),r.jsx("li",{children:r.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")})})]})]})]})]}),r.jsx("hr",{className:"site-footer__rule"}),r.jsxs("div",{className:"site-footer__bottom",children:[r.jsx("div",{className:"site-footer__brand",children:r.jsx("img",{src:Cd,alt:"IHAB",className:"site-footer__logo"})}),r.jsxs("div",{className:"site-footer__meta",children:[r.jsxs("div",{children:[r.jsx("span",{className:"footer-title",children:i("footer.ceo","\uB300\uD45C")}),r.jsx("span",{className:"footer-meta caption-1",children:i("footer.ceoName","\uD55C\uC9C0\uD61C")})]}),r.jsxs("div",{children:[r.jsx("span",{className:"footer-title",children:i("footer.address","\uC8FC\uC18C")}),r.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")})]}),r.jsxs("div",{children:[r.jsx("span",{className:"footer-title",children:i("footer.support","\uACE0\uAC1D\uC13C\uD130")}),r.jsxs("span",{className:"footer-meta caption-1",children:[o," \xA0 ",n]})]})]})]}),r.jsx("div",{className:"site-footer__copyright footer-copyright caption-1",children:"\xA9 IHAB, Inc. All rights reserved."})]})})}var v9='.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}}';ne(v9);function Z0({logo:e,logoAlt:t="",logoHref:a,links:o=[],actions:n,className:i,containerClassName:s,renderLink:c,menuLabel:d}){const{t:u}=be.useTranslation(),h=d??{open:u("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:u("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,m]=l.useState(!1),f=l.useId(),g=l.useRef(null);l.useEffect(()=>{if(!p)return;const b=Do(()=>{const y=document.getElementById(f);y&&y.contains(document.activeElement)&&g.current?.focus(),m(!1)}),x=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,_=y=>{y.matches&&m(!1)};return x&&(x.matches&&m(!1),x.addEventListener?.("change",_)),()=>{b(),x?.removeEventListener?.("change",_)}},[p,f]);const v=s?`${s} landing-header__inner`:"landing-header__inner",C=(b,x)=>c?c(b,{onClick:x}):r.jsx("a",{href:b.href,onClick:x,"aria-current":b.current?"page":void 0,children:b.label});return r.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[r.jsxs("div",{className:v,children:[e!=null&&(()=>{const b=typeof e=="string"?r.jsx("img",{src:e,alt:t,className:"landing-header__logo"}):e;return a?r.jsx("a",{href:a,className:"landing-header__brand",children:b}):r.jsx("div",{className:"landing-header__brand",children:b})})(),o.length>0&&r.jsx("nav",{className:"landing-header__links",children:o.map((b,x)=>r.jsx("span",{children:C(b)},`${x}:${b.href}`))}),r.jsxs("div",{className:"landing-header__actions",children:[n,o.length>0&&r.jsx("button",{ref:g,type:"button",onClick:()=>m(b=>!b),"aria-expanded":p,"aria-controls":f,"aria-label":p?h.close:h.open,className:p?"landing-header__toggle landing-header__toggle--open":"landing-header__toggle",children:r.jsxs("span",{className:"landing-header__burger",children:[r.jsx("span",{}),r.jsx("span",{}),r.jsx("span",{})]})})]})]}),o.length>0&&r.jsx("nav",{id:f,hidden:!p,className:"landing-header__drawer",children:r.jsx("div",{className:s??void 0,children:o.map((b,x)=>r.jsx("span",{className:"landing-header__drawer-item",children:C(b,()=>m(!1))},`${x}:${b.href}`))})})]})}var x9=".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}}";ne(x9);function X0({children:e,action:t,onClick:a,className:o}){const n=a?"bottom-sticky__inner bottom-sticky__inner--clickable":"bottom-sticky__inner";return r.jsx("div",{className:o?`bottom-sticky ${o}`:"bottom-sticky",children:r.jsxs("div",{className:n,onClick:a,...Ug(a),children:[r.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}const zo=9,J0=e=>Math.round(Math.min(zo,Math.max(0,e))/zo*100),Q0=e=>e/100*zo,fr=2,tu=.1,y9=e=>Math.min(fr,Math.max(0,e)),C9=.1,_9=e=>Math.round(e*1e6)/1e6;function vr(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return y9(t);const a=Math.min(zo,Math.max(0,Number(e.level)||0))/zo,o=Number(e.mainVolume);return o>0?a>0?_9(Math.min(fr,Math.max(C9,a/o))):0:1}const ef=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function au(e){return ef(e)}function Fi(e){return ef(e)*vr(e)}function Vi(e,t=En()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,Fi(e)/a)}function xr(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=vr({level:a.level,mainVolume:a.mainVolume})),a}const yr={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},Hi=l.createContext(null);function yn(){return l.useContext(Hi)}const ou=e=>`${_s()}/${e}`,tf=e=>Array.from({length:10},(t,a)=>ou(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),Wi={get defaultNoise(){return ou("noise1.mp3")},get street(){return tf("noise2")},get restaurant(){return tf("noise3")},get buzz(){return ou("noise4.mp3")}};function w9(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return Wi.defaultNoise;case"street":return Wi.street[t];case"restaurant":return Wi.restaurant[t];case"buzz":return Wi.buzz;default:return null}}function k9({noisePlayer:e,audioRef:t,playbackStateRef:a}){const o=l.useRef(e?.registerAnalyser);o.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),h=l.useRef(null),p=l.useRef(0),m=l.useRef(null),f=l.useCallback(()=>{h.current!==null&&(cancelAnimationFrame(h.current),h.current=null),m.current!==null&&(clearTimeout(m.current),m.current=null)},[]),g=l.useCallback((_,y=250)=>{const A=n.current;if(!A)return;const w=d.current;if(w){d.current=null;try{A.pause()}catch{}A.src=w,A.load()}if(!A.src)return;p.current+=1,f();try{Lr(),Ho(A).then(S=>{if(n.current===A)try{o.current?.("noise",S)}catch{}})}catch{}const N=A.paused?0:Wo(A);A.paused&&ka(A,0),A.play().catch(()=>{});const k=performance.now(),B=()=>{const S=Math.min(1,(performance.now()-k)/y);try{ka(A,N+(_-N)*S)}catch{}S<1?h.current=requestAnimationFrame(B):h.current=null};h.current=requestAnimationFrame(B)},[f]),v=l.useCallback((_=250,y)=>{const A=n.current;if(!A||A.paused){y?.();return}const w=++p.current;f();const N=performance.now(),k=Wo(A),B=()=>{const S=Math.min(1,(performance.now()-N)/_);try{ka(A,k*(1-S))}catch{}if(S<1)h.current=requestAnimationFrame(B);else{h.current=null,m.current!==null&&(clearTimeout(m.current),m.current=null);try{A.pause()}catch{}y?.()}};h.current=requestAnimationFrame(B),m.current=setTimeout(()=>{if(m.current=null,p.current===w){h.current!==null&&(cancelAnimationFrame(h.current),h.current=null);try{A.paused||(ka(A,0),A.pause(),y?.())}catch{}}},_+150)},[f]);l.useEffect(()=>{const _=document.createElement("audio");return _.loop=!0,_.crossOrigin="anonymous",n.current=_,()=>{f();try{_.pause(),_.src=""}catch{}n.current=null,c.current=null,d.current=null}},[f]);const C=e?Vi(e.settings):0,b=!!e?.settings.enabled&&C>0;l.useEffect(()=>{if(!b)return;let _=0;const y=setInterval(()=>{const A=n.current;if(!A||A.paused){_=0;return}const w=t.current;if(w&&!w.paused&&!w.ended||a.current==="playing"){_=0;return}_+=1,_>=2&&(_=0,v())},400);return()=>clearInterval(y)},[v,b,t,a]),l.useEffect(()=>{const _=()=>{const y=n.current;if(document.hidden){if(y&&!y.paused){f();try{y.pause()}catch{}}return}if(!y||!y.paused)return;const A=t.current,w=!!A&&!A.paused&&!A.ended||a.current==="playing",N=u.current;w&&N?.enabled&&N.volume>0&&g(N.volume)};return document.addEventListener("visibilitychange",_),()=>document.removeEventListener("visibilitychange",_)},[f,g,t,a]),l.useEffect(()=>{u.current=e?{enabled:e.settings.enabled,volume:C,type:e.settings.type}:null},[e,e?.settings.enabled,C,e?.settings.type]);const x=l.useRef(null);return l.useEffect(()=>()=>{x.current?.(),x.current=null},[]),l.useEffect(()=>{const _=e?.settings,y=n.current;if(!y)return;const A=_?Vi(_):0;if(!_||!_.enabled||A===0){v();return}if(c.current!==_.type){const w=w9(_.type);w&&(c.current=_.type,s(w),d.current=w,v(150,()=>{if(d.current!==w)return;d.current=null,y.src=w,y.load();const N=t.current;if(N&&!N.paused){x.current?.();const k=()=>{y.removeEventListener("canplay",k),x.current===B&&(x.current=null);const S=t.current,T=u.current;S&&!S.paused&&!S.ended&&T?.enabled&&T.volume>0&&g(T.volume)},B=()=>y.removeEventListener("canplay",k);x.current=B,y.addEventListener("canplay",k)}}))}else{const w=t.current,N=!!w&&!w.paused&&!w.ended||a.current==="playing";if(N&&d.current)g(A);else if(N&&y.paused&&y.src)g(A);else if(!y.paused)if(!N)v();else{f();const k=Wo(y),B=performance.now(),S=()=>{const T=Math.min(1,(performance.now()-B)/150);try{ka(y,k+(A-k)*T)}catch{}T<1?h.current=requestAnimationFrame(S):h.current=null};h.current=requestAnimationFrame(S)}}},[e?.settings,e?.settings.enabled,C,e?.settings.type,f,g,v,t,a,u]),l.useEffect(()=>{const _=n.current;if(_)try{_.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:n,activeNoiseUrl:i,noiseSettingsRef:u,cancelNoiseFade:f,fadeInNoise:g,fadeOutNoise:v}}function A9({ttsText:e,playbackRate:t,mainVolume:a,fillRef:o,waveProgressRef:n,setProgress:i,setPlaybackState:s,setStateLocal:c,fadeInNoise:d,fadeOutNoise:u,noiseSettingsRef:h,onDoneRef:p,handleEndRef:m}){const f=l.useRef(null),g=l.useRef(0),v=l.useRef(null),C=l.useRef(0),b=l.useRef(!1);l.useEffect(()=>()=>{C.current++;try{if(v.current&&(cancelAnimationFrame(v.current),v.current=null),b.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}b.current=!1}}catch{}},[]);const x=(A,w=1)=>{try{const N=(A||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(A||"").length);return Math.max(700,Math.round(N*300/Math.max(.25,w)))}catch{return 1200}},_=l.useCallback(A=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const w=window.speechSynthesis,N=++C.current;try{try{w.cancel()}catch{}const k=A??e,B=Array.isArray(k)?k.filter(E=>!!E):[k||""];B.length===0&&B.push("");const S=Math.max(.3,Math.min(3,t));g.current=B.reduce((E,V)=>E+x(V,S||1),0),f.current=performance.now(),i(0),s("playing"),c("playMode");const T=h.current;T?.enabled&&(T?.volume??0)>0&&d(T.volume);const R=()=>{try{const E=f.current||performance.now(),V=performance.now()-E,X=g.current||1200,G=Math.min(1,V/X);try{o.current&&(o.current.style.left=`${G*100}%`),n.current&&n.current.style.setProperty("--progress",String(G))}catch{}G<1&&(v.current=requestAnimationFrame(R))}catch{}},M=()=>{if(N===C.current)try{v.current&&(cancelAnimationFrame(v.current),v.current=null),i(1),s("stopped");try{m.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},I=E=>{const V=new SpeechSynthesisUtterance(B[E]);try{V.rate=S}catch{}try{V.volume=Math.max(0,Math.min(1,a))}catch{}V.onend=()=>{if(N===C.current){if(E<B.length-1){try{I(E+1)}catch{M()}return}M()}},V.onerror=()=>{M()},V.onstart=()=>{if(!(E>0))try{v.current&&(cancelAnimationFrame(v.current),v.current=null),v.current=requestAnimationFrame(R)}catch{}},b.current=!0,w.speak(V)};try{I(0)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,t,a,d,o,n,i,s,c,h,p,m]),y=l.useCallback(()=>{C.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}v.current&&(cancelAnimationFrame(v.current),v.current=null),u(),f.current=null}catch{}s("stopped"),c("active"),i(0)},[u,s,c,i]);return{startTTS:_,stopTTS:y}}var B9='.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%;height:var(--wave-h,90%);position:absolute;transition:height .35s cubic-bezier(.22,.9,.3,1)}.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) backwards;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%;height:var(--wave-h1,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;transition:transform .35s cubic-bezier(.22,.9,.3,1);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%;height:var(--wave-h1,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;transition:transform .35s cubic-bezier(.22,.9,.3,1);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%;height:var(--wave-h1,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;transition:transform .35s cubic-bezier(.22,.9,.3,1);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) backwards;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%}';ne(B9);async function S9(e,t,a){let o=null;try{const n=window.AudioContext||window.webkitAudioContext;o=new n;const i=await o.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;return new Array(t).fill(0).map((h,p)=>{const m=p*u,f=Math.min(m+u,d);let g=0;for(let v=m;v<f;v++){const C=Math.abs(s[v]);C>g&&(g=C)}return g})}catch{return null}finally{try{o?.close?.()}catch{}}}async function af(e,t,a){try{const o=await fetch(e);if(o.ok===!1)return null;const n=await o.arrayBuffer();return await S9(n,t,a)}catch(o){try{const n=qr(o)}catch{}return null}}const ru=45,of=74,rf=2;function Cr(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function Gi(e){return Cr(e)/45}const nf=4;function N9(e){const{src:t,segments:a,progress:o=0,waveProgressRef:n,noiseSrc:i,noiseRatio:s=0,noiseSpeed:c=1,totalDuration:d=0,mainVolume:u=1,onReadyChange:h,showSoundWaveForm:p=!0}=e,m=l.useRef(null),f=l.useRef(null),[g,v]=l.useState(null),[C,b]=l.useState(!1),[x,_]=l.useState(null),[y,A]=l.useState(2),[w,N]=l.useState(0),[k,B]=l.useState(null),[S,T]=l.useState(!1),[R,M]=l.useState(!1),I=3,E=3,V=1,X=300,G=l.useRef(0),q=l.useCallback(()=>{const ce=m.current,Y=f&&f.current?f.current:ce?ce.closest(".audio-player__wave"):null,de=Y?Y.getBoundingClientRect():ce?ce.getBoundingClientRect():null,fe=de?de.width:0,Ae=de?Math.max(100,de.width):320,Be=de?de.height:0,Te=Math.max(V,Math.min(X,Math.floor((Ae+E)/(I+E)))),ke=Te*I,Se=Math.max(0,Te-1),Z=Math.max(0,Se>0?(Ae-ke)/Se:E);return{bars:Te,gap:Z,height:Be,width:fe}},[]),$=l.useRef(void 0),z=l.useRef(null),K=l.useCallback(async(ce,Y,{quiet:de=!1}={})=>{const fe=++G.current,Ae=()=>G.current===fe;try{if(de||b(!1),$.current=ce,!ce){Ae()&&v(null);return}let Be=Y;if(!Be)try{for(let Se=0;Se<4&&!(m.current||f.current);Se++)await new Promise(Z=>requestAnimationFrame(Z));await new Promise(Se=>requestAnimationFrame(Se));const ke=q();ke.height>0&&N(ke.height),Be=ke.bars,A(ke.gap)}catch{Be=120}z.current=Be;const Te=await af(ce,Be);if(!Ae())return;if(!Te){v(null),b(!1);return}v(Te),_(Be),b(!0)}catch{if(!Ae())return;v(null),b(!1)}},[b,v,N,A,_,q]);l.useEffect(()=>{const ce=f.current;if(!ce||typeof ResizeObserver>"u")return;let Y=null;const de=new ResizeObserver(()=>{Y!==null&&cancelAnimationFrame(Y),Y=requestAnimationFrame(()=>{Y=null;try{const fe=q();if(fe.width<=0||(fe.height>0&&N(fe.height),z.current===null||fe.bars===z.current))return;const Ae=$.current;A(fe.gap),Ae?K(Ae,fe.bars,{quiet:!0}).catch(()=>{}):z.current=fe.bars}catch{}})});return de.observe(ce),()=>{de.disconnect(),Y!==null&&cancelAnimationFrame(Y)}},[q,K]),l.useEffect(()=>{const ce=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;K(typeof ce=="string"?ce:void 0).catch(()=>{}),M(!1)},[t,a,K]),l.useEffect(()=>{let ce=!1;if(T(!1),!i||!x){B(null);return}const Y=d>0?d*(c||1):void 0;return af(i,x,Y).then(de=>{ce||(B(de),de||T(!0))}).catch(()=>{ce||(B(null),T(!0))}),()=>{ce=!0}},[i,x,d,c]);const O=Math.max(0,Math.min(1,u)),D=l.useMemo(()=>g&&g.length&&Math.max(...g)||1,[g]),H=x||40,F=l.useMemo(()=>Array.from({length:H}).map((ce,Y)=>{const de=g&&g[Y]!=null?g[Y]:null,fe=de==null?null:Math.min(1,de/D*O),Ae=fe!=null&&w>0&&Cr(fe)<=nf,Be=fe==null?.15:Ae?0:Gi(fe),Te=H>1?Y/(H-1):0;return r.jsx("div",{className:Ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Be,"--i":Y,"--mix":Te}},Y)}),[H,g,D,O,w]),j={"--progress":String(Math.max(0,Math.min(1,o)))},P=i?Math.max(1,s):1,oe={"--bar-gap":`${y}px`,"--wave-h":`${Cr(P)}px`,"--wave-h1":`${ru}px`},ae=O*Math.max(0,s)/En(),se=C&&(i?!!k||S:!0);l.useEffect(()=>{se&&M(!0)},[se]);const ye=R?C:se;l.useEffect(()=>{h?.(ye)},[ye,h]);const ge=x||40,De=l.useMemo(()=>Array.from({length:ge}).map((ce,Y)=>{const de=k&&k[Y]!=null?k[Y]:null,fe=de==null?0:de/D*ae,Ae=w>0&&Cr(fe)<=nf,Be=Ae?0:Gi(fe),Te=ge>1?Y/(ge-1):0;return r.jsx("div",{className:Ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":Be,"--i":Y,"--mix":Te}},Y)}),[ge,k,D,ae,w]);return r.jsxs("div",{className:"audio-player__wave",ref:f,style:oe,children:[i&&r.jsx("div",{className:`audio-player__wave-noise ${se?"is-ready":""}`,"aria-hidden":"true",children:De}),p&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${ye?"is-ready":""}`,ref:m,children:F}),r.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${ye?"is-ready":""}`,ref:n,style:j,children:F})]})]})}const E9={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 nu(e,t){return new Promise((a,o)=>{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?o(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 D9=2e3;function sf(e,t=D9){return new Promise(a=>{let o=!1;const n=()=>{o||(o=!0,a())};e.addEventListener("canplay",n,{once:!0}),e.addEventListener("error",n,{once:!0}),setTimeout(n,t)})}function T9({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const o=l.useRef(!1),n=l.useRef([]),i=l.useCallback(d=>{if(o.current=d,!d||!n.current.length)return;const u=n.current;n.current=[];for(const h of u)h(!0)},[]),s=l.useCallback(()=>{o.current=!1},[]),c=l.useCallback(()=>!e&&!t||o.current?Promise.resolve(!0):new Promise(d=>{const u=p=>{clearTimeout(h),n.current=n.current.filter(m=>m!==u),d(p)},h=setTimeout(()=>u(!0),a);n.current.push(u)}),[e,t,a]);return l.useEffect(()=>()=>{const d=n.current;n.current=[];for(const u of d)u(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:s}}function j9(){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})},[]),o=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:o}}function L9({offsetY:e=8}={}){const t=l.useRef(null),[a,o]=l.useState(null),n=l.useCallback(()=>o(null),[]),i=l.useCallback(()=>{try{const s=t.current?.getBoundingClientRect();if(!s)return;o({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 M9({currentTime:e,sources:t,index:a,audioDuration:o}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,s=i?i.duration||o||0:o||0;if(!(s>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/s))}function $9(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function R9({ended:e,completedByEnd:t}){return!!e||!!t}function P9(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function z9(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function I9(e,t,a){const o=Array.isArray(e)?e:e?[e]:[],n=[];for(const i of o)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 O9(e){if(!e)return 0;const t=e.duration;if(Number.isFinite(t)&&t>0)return t;if(t===0)return 0;try{const a=e.seekable;if(a&&a.length>0){const o=a.end(a.length-1);if(Number.isFinite(o)&&o>0)return o}}catch{}return null}function F9({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:o,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 h=e.current,p=Array.isArray(o.current)?o.current[n.current||0]:void 0,m=p&&Number.isFinite(p.duration)&&(p.duration??0)>0?0:O9(h),f=t.current;if(m===null)try{f&&f.style.visibility!=="hidden"&&(f.style.visibility="hidden")}catch{}else{const g=M9({currentTime:h&&typeof h.currentTime=="number"?h.currentTime:0,sources:o.current,index:n.current,audioDuration:m});try{f&&(f.style.visibility&&(f.style.visibility=""),f.style.left=`${g*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(g))}catch{}}}catch{}i.current=requestAnimationFrame(u)};i.current=requestAnimationFrame(u)},[e,t,a,o,n]),d=l.useCallback(u=>{s();try{t.current&&(t.current.style.visibility="",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 Cn({btnLabel:e,soundSrc:t,bucketPath:a,onDone:o,disabled:n=!1,ttsText:i=null,className:s,showSoundWaveForm:c=!0,showNoiseWaveForm:d=!0}){const{t:u}=be.useTranslation(),h=e,p=yn(),m=l.useRef(p?.registerAnalyser);l.useEffect(()=>{m.current=p?.registerAnalyser});const f=l.useRef(null),g=l.useRef(null),v=l.useRef(null),C=j9(),b=l.useRef(null),x=l.useRef(!1),_=l.useRef(0),y=l.useRef(null),{ref:A,rect:w,show:N,hide:k}=L9();l.useEffect(()=>()=>{m.current?.("main",null),m.current?.("noise",null)},[]);const[B,S]=l.useState(!1),[T,R]=l.useState("idle"),[M,I]=l.useState("stopped"),E=l.useRef("stopped");l.useEffect(()=>{E.current=M},[M]);const[V,X]=l.useState(0),[G,q]=l.useState("active"),$=l.useRef(!1);l.useEffect(()=>{if(G!=="playMode"||!$.current)return;$.current=!1;const U=typeof document<"u"?document.activeElement:null;if(U&&U!==document.body)return;const le=v.current?.querySelectorAll("button")[1];try{le?.focus()}catch{}},[G]);const[z,K]=l.useState(null),[O,D]=l.useState(null),[H,F]=l.useState(0),[j,P]=l.useState(!1),[oe,ae]=l.useState(0),se=p?.playbackRate??1,ye=p?.mainVolume??1,ge=p?Fi(p.settings):0,De=p?au(p.settings):ye,[ce,Y]=l.useState("idle"),[de,fe]=l.useState(""),[Ae]=l.useState("top"),Be=l.useRef(null),Te=l.useRef(0),ke=l.useRef(null),{start:Se,stop:Z,settleTo:J}=F9({audioRef:f,fillRef:g,waveProgressRef:ke,sourcesRef:Be,currentIndexRef:Te}),{onReadyChange:W,waitForReady:ie,markNotReady:ee}=T9({showSoundWaveForm:c,showNoiseWaveForm:d}),me=l.useRef(null),xe=l.useRef(n),qe=l.useRef(o),Ve=l.useRef(null),He=l.useRef(!1),[je,Ge]=l.useState(!1),$e=l.useCallback(U=>{He.current=U,Ge(U)},[]),Ie=l.useRef(null),{activeNoiseUrl:We,noiseSettingsRef:at,fadeInNoise:lt,fadeOutNoise:Ze}=k9({noisePlayer:p,audioRef:f,playbackStateRef:E}),{startTTS:et,stopTTS:kt}=A9({ttsText:i,playbackRate:se,mainVolume:De,fillRef:g,waveProgressRef:ke,setProgress:X,setPlaybackState:I,setStateLocal:q,fadeInNoise:lt,fadeOutNoise:Ze,noiseSettingsRef:at,onDoneRef:qe,handleEndRef:Ie});l.useEffect(()=>{St.current=kt});const $t=U=>{if(typeof window>"u"||!window.speechSynthesis){try{fe(u("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}et(U);return}Pt("tts"),et(U)},Ht=Array.isArray(t)?t.filter(Boolean):t?[t]:[],ft=(!Ht||Ht.length===0)&&!!i,ot=Array.isArray(z)&&z.length>0?z:Array.isArray(O)&&O.length>0?O:null,Qe=Math.max(Array.isArray(ot)?ot.length:0,Ht.length),Ue=l.useRef(!0);l.useEffect(()=>(Ue.current=!0,()=>{Ue.current=!1}),[]);const ct=l.useRef(0),nt=()=>{ct.current+=1,_.current+=1},St=l.useRef(null),Ye=l.useRef(null),ht=l.useRef(null),Rt=l.useRef(null);Rt.current||(Rt.current=()=>{ht.current=null;const U=f.current;if(Ye.current==="audio"&&U&&!U.paused){ct.current+=1,_.current+=1;try{U.pause()}catch{}Ue.current&&I("paused")}else if(Ye.current==="tts")try{St.current?.()}catch{}});const Pt=U=>{Ye.current=U,ht.current=Ei(Rt.current)},Re=()=>{ht.current?.(),ht.current=null};l.useEffect(()=>()=>{Rt.current&&Di(Rt.current)},[]);const Xe=l.useCallback(async(U,le=3,pe=50)=>{const _e=ct.current;for(let we=0;we<le;we++){if(!Ue.current||_e!==ct.current)return!1;try{return Pt("audio"),await U.play(),!0}catch(Me){if((Me instanceof Error||typeof Me=="object"&&Me&&"name"in Me?Me.name:void 0)==="AbortError"){if(_e!==ct.current)return!1;await new Promise(st=>setTimeout(st,pe));continue}try{fe(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{fe(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[u]),zt=l.useCallback(()=>{const U=f.current;if(!U)return;const le=()=>{I("playing"),q("playMode"),P(!0),Se();try{Lr(),Ho(U).then(Me=>{if(Ue.current)try{m.current?.("main",Me)}catch{}})}catch{}const we=at.current;we?.enabled&&(we?.volume??0)>0&&lt(we.volume)},pe=()=>{R9({ended:!!U?.ended,completedByEnd:He.current})||(I("paused"),Z(),Ze())},_e=()=>{try{const we=Be.current,Me=$9(we,Te.current);if(Me!==null){Te.current=Me,F(Me),P(!0);const st=we?.[Me]&&we[Me].src;if(st&&U){U.src=st,U.load(),Xe(U).catch(()=>{});return}}}catch{}I("stopped"),X(1);try{if(U)try{U.currentTime=0}catch{}}catch{}Z(),P(!1),Ze();try{!xe.current&&Ie.current&&Ie.current()}catch{}};return U.addEventListener("play",le),U.addEventListener("pause",pe),U.addEventListener("ended",_e),()=>{try{U.removeEventListener("play",le),U.removeEventListener("pause",pe),U.removeEventListener("ended",_e),Z()}catch{}}},[lt,Ze,Xe,at,Se,Z]);l.useEffect(()=>zt(),[zt]),l.useEffect(()=>{xe.current=n},[n]),l.useEffect(()=>{qe.current=o},[o]),l.useEffect(()=>{if(n||G!=="active")return;const U=y.current;if(!U)return;let le=null;const pe=requestAnimationFrame(()=>{try{const _e=U.getTotalLength();if(!_e)return;const we=_e*.2;U.style.strokeDasharray=`${_e-we} ${we}`;const Me="triFlow_"+Math.random().toString(36).slice(2);le=document.createElement("style"),le.textContent=`@keyframes ${Me}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${_e}}}`,document.head.appendChild(le),U.style.animation=`${Me} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(pe),le?.remove()}},[G,n]),l.useEffect(()=>{Be.current=z},[z]),l.useEffect(()=>{Te.current=H},[H]),l.useEffect(()=>{const U=v.current,le=b.current;if(!U||!le)return;let pe=null;const _e=32,we=60,Me=()=>{try{const Ct=Array.from(U.querySelectorAll(":scope > .button"));let mt=0;Ct.forEach(Oa=>{if(Oa===le)return;const ts=Oa.getBoundingClientRect();mt+=ts.width});const Tt=U.getBoundingClientRect().width,ea=Math.max(0,Math.floor(Tt-mt-8)),qt=Qe;if(!qt||ea<=0){Array.from(le.children).forEach(Oa=>{try{Oa.style.width=""}catch{}});return}let Ia=Math.floor(ea/qt);Ia>we&&(Ia=we),Ia<_e&&(Ia=Math.max(_e,Math.floor(ea/qt))),Array.from(le.querySelectorAll(".button")).forEach(Oa=>{try{Oa.style.width=`${Ia}px`}catch{}})}catch{}},st=requestAnimationFrame(Me);try{pe=new ResizeObserver(()=>{requestAnimationFrame(Me)}),pe.observe(U),pe.observe(le),window.addEventListener("resize",Me)}catch{}return()=>{try{cancelAnimationFrame(st)}catch{}try{pe&&(pe.disconnect(),pe=null)}catch{}try{window.removeEventListener("resize",Me)}catch{}}},[z,O,Qe]),l.useEffect(()=>()=>{try{me.current&&(clearTimeout(me.current),me.current=null),Ve.current&&(clearTimeout(Ve.current),Ve.current=null)}catch{}},[]);const Et=(U,le)=>{K(U),ae(le),ee(),D(P9(U)),Be.current=U},Wt=async(U,le)=>{$e(!1),x.current=!1,U.src=le,U.load(),await sf(U),await ie()!==!1&&(S(!1),await Xe(U),q("playMode"),F(0),P(!0))},Ma=async(U,le=!1)=>{const pe=f.current;S(!0),R("measuring_duration");try{const _e=await nu(U,{timeoutMs:1e4,rejectOnError:!0});Et([{src:U,objectUrl:null,duration:_e}],_e),R("ready"),le&&pe&&await Wt(pe,U)}finally{x.current=!1,S(!1)}},it=async(U,le=!1)=>{const pe=f.current;S(!0),R("measuring_duration");try{const _e=await Promise.all(U.map(Me=>nu(Me,{timeoutMs:1e4})));if(!Ue.current)return;const we=U.map((Me,st)=>({src:Me,objectUrl:null,duration:_e[st]||0}));Et(we,z9(we)),R("ready"),le&&pe&&we.length>0&&await Wt(pe,we[0].src)}finally{x.current=!1,S(!1)}},ia=async(U=!1,le=!0)=>{const pe=f.current,_e=t?Array.isArray(t)?t:[t]:[];if(!_e||_e.length===0||!_e.some(Boolean))return!1;if(x.current)return null;x.current=!0,le&&S(!0),R("resolving");try{const we=I9(t,a,Sn),Me=[];let st=0;for(const Ct of we){let mt=Ct.src??null,Tt=null;if(!mt&&Ct.resolvedPath){try{R("getting_signed_url"),mt=await Dr(Ct.resolvedPath)}catch{mt=null}if(!Ue.current)return!1;if(!mt)try{R("downloading");const qt=await Nn(Ct.resolvedPath);if(!Ue.current)return!1;if(qt){const Ia=qt instanceof Blob?qt:new Blob([qt]);Tt=C.track(URL.createObjectURL(Ia)),mt=Tt}}catch{R("error");try{fe(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),q("active")}catch{}}}if(!mt)continue;let ea=0;try{R("measuring_duration"),ea=await nu(mt,{timeoutMs:3e3})}catch{ea=0}if(!Ue.current){if(Tt)try{URL.revokeObjectURL(Tt)}catch{}for(const qt of Me)if(qt.objectUrl)try{URL.revokeObjectURL(qt.objectUrl)}catch{}return!1}st+=ea||0,Me.push({...Ct,src:mt,objectUrl:Tt,duration:ea})}if(Et(Me,st),Me.length>0&&U&&pe){const Ct=Me[0];$e(!1);try{C.keepOnly(Me.map(mt=>mt.objectUrl))}catch{}if(R("ready"),x.current=!1,Ct.src&&pe)try{if(pe.src=Ct.src,pe.load(),await sf(pe),await ie()===!1)return!1;le&&S(!1),pe&&await Xe(pe)}catch{le&&S(!1)}else le&&S(!1);q("playMode"),F(0),P(!0)}return Me.length>0}finally{x.current=!1,le&&S(!1),R(we=>we==="ready"?"ready":"idle")}},Ja=async()=>{const U=f.current;if(!(!U&&!ft)){if(ft){const le=window.speechSynthesis;if(G==="active"){const pe=Tr(),_e=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(pe&&_e.length>0){q("load"),S(!0),R("resolving"),x.current=!0;try{const we=await Promise.all(_e.map(Me=>Promise.resolve(pe(Me))));we.length>1?await it(we,!0):await Ma(we[0],!0)}catch{x.current=!1,S(!1),q("active"),$t(_e.length>0?_e:void 0)}return}$t(_e.length>0?_e:void 0);return}if(G==="playMode"){const pe=!!le&&(le.speaking||le.paused)&&!(U&&(U.currentSrc||U.getAttribute("src")));if(U&&!pe){if(U.paused){if(He.current){await Dt();return}await Xe(U),I("playing")}else nt(),U.pause(),I("paused");return}try{if(le&&le.paused)try{Pt("tts"),le.resume(),I("playing")}catch{}else try{le.pause(),I("paused")}catch{}}catch{}}return}if(G==="active"){if(n&&Array.isArray(Be.current)&&Be.current.length>0){const pe=Be.current[0];try{if(pe.src&&U)try{U.src=pe.src,U.load(),U&&await Xe(U)}catch{}q("playMode"),F(0),P(!0);return}catch{}}q("load");let le;try{le=await ia(!0)}catch{le=!1}if(le===!1&&Ue.current){try{fe(u("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}q("active")}return}if(G!=="load"&&(G==="playMode"||G==="active"))try{if(U&&U.paused){if(He.current){await Dt();return}U&&await Xe(U),I("playing")}else U&&(nt(),U.pause(),I("paused"))}catch(le){(le instanceof Error||typeof le=="object"&&le&&"name"in le)&&le.name}}},Dt=async()=>{const U=f.current;if(U)try{const le=Be.current;if(Array.isArray(le)&&le.length>1){await sa(0);return}$e(!1);try{U.currentTime=0}catch{}U&&await Xe(U),I("playing"),q("playMode")}catch{}},Qt=()=>{if(nt(),Re(),ft){kt();return}const U=f.current;try{if(U){try{U.pause()}catch{}try{U.currentTime=0}catch{}}}catch{}Ze(),I("stopped"),q("active"),X(0),P(!1)},ha=async(U,{sameSegment:le=!1}={})=>{const pe=++_.current,_e=f.current,we=Be.current?.[U]?.src;try{if($e(!1),F(U),P(!0),Te.current=U,!we||!_e||(le||ee(),_e.src=we,_e.load(),!le&&await ie()===!1)||pe!==_.current||(await Xe(_e),pe!==_.current))return;I("playing"),q("playMode")}catch{}},wa=async()=>{const U=Be.current,le=Te.current||0;if(!U||le<=0){await Dt();return}await ha(le-1)},$a=async()=>{const U=Be.current,le=Te.current||0;if(!U||le>=U.length-1){Qt();return}await ha(le+1)},ma=()=>{if(He.current)return;const U=200,le=340;$e(!0),nt(),Re();try{X(1)}catch{}J(1);try{Y("hold")}catch{}try{const pe=f.current,_e=ft&&!!pe?.src;if(!ft||_e){if(pe){pe.pause();try{pe.currentTime=0}catch{}}}else kt();Ze()}catch{}try{I("stopped")}catch{}if(P(!1),!xe.current)try{Ve.current&&(clearTimeout(Ve.current),Ve.current=null),Ve.current=setTimeout(()=>{try{Y("out")}catch{}Ve.current=setTimeout(()=>{try{typeof qe.current=="function"&&qe.current(!0)}catch{}try{Y("idle")}catch{}Ve.current=null},le)},U)}catch{}};l.useEffect(()=>{Ie.current=ma});const Qa=l.useCallback(()=>fe(""),[]),sa=async U=>{(Be.current||[])[U]&&await ha(U,{sameSegment:U===Te.current})},yt=M==="playing",Ra=l.useMemo(()=>{if(!O||O.length<=1)return O;const U=O[H];return U?[U]:O},[O,H]),la=n===!0;l.useEffect(()=>{try{const U=f.current;U&&typeof U.playbackRate=="number"&&(U.playbackRate=se||1)}catch{}},[se]);const Gt=l.useRef({raf:null,timer:null});l.useEffect(()=>{const U=f.current;if(!U)return;const le=Math.max(0,Math.min(1,De)),pe=Gt.current,_e=()=>{pe.raf!==null&&(cancelAnimationFrame(pe.raf),pe.raf=null),pe.timer!==null&&(clearTimeout(pe.timer),pe.timer=null)};_e();const we=Wo(U);if(U.paused||Math.abs(we-le)<.001||typeof requestAnimationFrame!="function"){try{ka(U,le)}catch{}return}const Me=performance.now(),st=()=>{const Ct=Math.min(1,(performance.now()-Me)/150);try{ka(U,we+(le-we)*Ct)}catch{}pe.raf=Ct<1?requestAnimationFrame(st):null};return pe.raf=requestAnimationFrame(st),pe.timer=setTimeout(()=>{_e();try{ka(U,le)}catch{}},200),_e},[De]);const Pa=ce==="hold",ca=ce==="out",za=G==="playMode"&&!B&&!je||Pa||ca,Ne=M!=="stopped"||Pa||ca,ze=M==="paused",re=Math.max(0,Math.min(100,(V||0)*100)),ve=Ee("audio-player__fill",za?"is-visible":"",Ne?"is-expanded":"",ze?"is-paused":"",ca?"is-out":"");return r.jsxs("div",{className:`audio-player ${la?"is-disabled":""}${s?` ${s}`:""}`,role:"group","aria-label":typeof h=="string"?h:void 0,children:[r.jsxs("div",{className:`audio-player__panel ${yt?"is-playing":""} ${B?"is-loading":""} ${G!=="default"?"is-revealed":""}`,children:[B?r.jsxs("div",{className:"audio-player__loading",role:"status","aria-live":"polite",children:[r.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),r.jsx("span",{className:"audio-player__loading-text",children:u(`training.audioStatus.${T}`,{defaultValue:E9[T]})})]}):null,G==="active"?r.jsx("button",{className:"audio-player__button",type:"button",disabled:la,onClick:()=>{$.current=ji(),k(),Ja()},"aria-label":typeof h=="string"?h:u("training.listen","\uB4E3\uAE30"),onMouseEnter:N,onMouseLeave:k,onFocus:N,onBlur:k,children:r.jsx("span",{ref:A,className:"audio-player__button-triangle-wrap",children:r.jsx("svg",{className:"audio-player__button-triangle",viewBox:"0 0 24 24","aria-hidden":"true",children:r.jsx("path",{ref:y,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&&r.jsx(Ea,{anchorRect:w,text:typeof h=="string"&&h?h:u("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),r.jsxs("div",{className:`audio-player__play ${G==="playMode"||yt?"is-visible":""}`,inert:!(G==="playMode"||yt)||void 0,children:[r.jsxs("div",{ref:v,className:"audio-player__buttons",children:[r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:wa,ariaLabel:u("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:G!=="playMode"}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:yt?"pause":"play",onClick:Ja,ariaLabel:u("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":yt,width:"60px",variant:"transparent-white",disabled:G!=="playMode"}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:Qt,ariaLabel:u("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:G!=="playMode"}),Qe>1?r.jsx("div",{ref:b,className:"audio-player__source-buttons",children:Array.from({length:Qe}).map((U,le)=>r.jsx(ue,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(le+1),onClick:()=>{try{sa(le)}catch{}},ariaLabel:u("training.sourcePlay",{n:le+1}),variant:"transparent-white",selected:j&&H===le,disabled:G!=="playMode"||!(Array.isArray(z)&&z[le]),showTooltipInfo:!0},le))}):null,!Array.isArray(z)||z.length<=1?r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Dt,ariaLabel:u("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:G!=="playMode"}):null,r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:$a,ariaLabel:u("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:G!=="playMode"}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:ma,ariaLabel:u("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:G!=="playMode"})]}),r.jsxs("div",{className:"audio-player__slider",children:[r.jsx("div",{className:ve,ref:g,style:{left:`${re}%`},"aria-hidden":"true"}),(c||d)&&r.jsx(N9,{segments:Ra,progress:V,totalDuration:oe,waveProgressRef:ke,showSoundWaveForm:c,noiseSrc:d&&p?.settings.enabled&&ge>0?We:null,noiseRatio:p?vr(p.settings):0,noiseSpeed:p?.settings.speed??1,mainVolume:ye,onReadyChange:W})]})]}),r.jsx("audio",{ref:f,crossOrigin:"anonymous",preload:"auto"})]}),!c&&r.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[r.jsx(Ke,{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.")]}),r.jsx(Mo,{message:de,position:Ae,onClose:Qa})]})}var V9=".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)}";ne(V9);function _r(e){const{t}=be.useTranslation(),{text:a,label:o,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:h,decrease:p,canIncrease:m,canDecrease:f,fontSize:g,lineHeight:v}=li({storageKey:"tooltip-fontScale"}),C=l.useCallback(()=>u(A=>A==="dark"?"light":"dark"),[]),b=l.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),x=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],_={fontSize:`${g}px`,lineHeight:`${v}px`,"--tt-line-height":`${v}px`,"--tt-marker-size":"28px"},y=r.jsxs("div",{className:`tooltip-textbox__root ${d==="dark"?"is-dark":""}`,children:[r.jsxs("div",{className:"tooltip-textbox__box",children:[o&&r.jsx("div",{className:"tooltip-textbox__label body-2b",children:o}),r.jsx("div",{className:"tooltip-textbox__text body-1",style:_,children:x.map((A,w)=>r.jsxs("div",{className:"tooltip-textbox__line",children:[x.length>1?r.jsx("div",{className:"tooltip-textbox__marker",children:r.jsx("span",{className:"tooltip-textbox__line-number button-1",children:w+1})}):null,r.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},w))})]}),r.jsxs("div",{className:"tooltip-textbox__buttons",children:[r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"minus",onClick:p,ariaLabel:t("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!f}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"plus",onClick:h,ariaLabel:t("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),variant:d==="dark"?"transparent-white":"transparent-gray",disabled:!m}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:d==="dark"?"moon":"sun-medium",onClick:C,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:d==="dark"?"transparent-white":"transparent-gray"}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:b,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:d==="dark"?"transparent-white":"transparent-gray"})]})]});return n?r.jsx(Ua,{anchorRect:n,className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:s,isMobilePopup:c,ariaLabel:o||t("tooltip.textbox","\uBCF8\uBB38"),children:y}):r.jsx("div",{className:`tooltip-textbox ${d==="dark"?"is-dark":""}`,children:y})}var H9=".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}";ne(H9);var W9='.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}}';ne(W9);function iu({state:e="disabled"}){const{t}=be.useTranslation();return r.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[r.jsx("div",{className:"bullet__dot",children:r.jsx(Ke,{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})}),r.jsx("div",{className:"ts-bullet__line"})]})}function lf(e,t,a){const o=l.useRef(t),n=l.useRef(a);l.useEffect(()=>{o.current=t,n.current=a}),l.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,s=10;const c=()=>{i=null;const d=o.current(),u=d?Array.from(d.querySelectorAll(Ga)).find(h=>!h.closest('[aria-hidden="true"]')):void 0;if(u){try{u.focus()}catch{}if(document.activeElement===u)return}--s>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const d=document.activeElement;if(!d||d===document.body||!document.contains(d)||d.closest(".tooltip-content")){const u=n.current();if(u)try{u.focus()}catch{}}}},[e])}var G9=".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)}";ne(G9);function su({title:e,children:t,className:a="",state:o="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:s=null,useFaded:c,usePlayAllBtn:d=!1,onPlayAll:u,playAllActive:h=!1}){const{t:p}=be.useTranslation(),m=na("(max-width: 767px)"),f=`training-step__title h4 ${c&&o==="disabled"?"training-step__title--faded":""} ${a}`.trim(),g=`training-step__title-row training-step__title-row--${o}`.trim(),v=l.useRef(null),[C,b]=l.useState(!1),[x,_]=l.useState(null),[y,A]=l.useState(null);lf(C&&!!x,()=>{if(typeof document>"u")return null;const S=Array.from(document.querySelectorAll(".tooltip-content"));for(let T=S.length-1;T>=0;T--)if(S[T].querySelector(".tooltip-textbox__root"))return S[T];return null},()=>v.current?.querySelector("button")??null);const w=l.useRef(i);l.useEffect(()=>{w.current=i});const N=l.useMemo(()=>s==null?"":typeof s=="string"||typeof s=="number"?String(s):Array.isArray(s)&&s.every(S=>typeof S=="string"||typeof S=="number")?s.join(""):"",[s]),k=l.useCallback(()=>{b(!1),_(null),A(null)},[]);l.useEffect(()=>{if(!C)return;let S;try{typeof w.current=="function"&&(S=w.current())}catch{}if(S===!1){k();return}A(typeof S<"u"&&S!==null?S:null)},[N]);const B=l.useCallback(()=>{let S;try{typeof i=="function"&&(S=i())}catch{}if(S!==!1){if(A(typeof S<"u"&&S!==null?S:s),!v.current){b(T=>!T);return}if(C)b(!1),_(null),A(null);else{const T=v.current.getBoundingClientRect();_(T),b(!0)}}},[i,s,C]);return r.jsxs("div",{className:g,children:[r.jsx("p",{className:f,children:r.jsx("span",{className:"training-step__title-text",children:e??t})}),n||d?r.jsxs("div",{className:"title-controls",children:[r.jsxs("div",{className:"title-buttons",children:[d&&r.jsx(ue,{htmlType:"button",size:32,type:m?"dot":"bar",icon:"play-circle",label:m?void 0:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),ariaLabel:p("training.playAll","\uBAA8\uB450 \uB4E3\uAE30"),selected:h,onClick:u,variant:o==="disabled"?"disabled":"default",disabled:o==="disabled"||h,onDisabledClick:h&&o!=="disabled"?()=>{}:void 0}),n&&r.jsx("div",{ref:v,children:r.jsx(ue,{htmlType:"button",size:32,type:m?"dot":"bar",icon:"eye",label:m?void 0:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),ariaLabel:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),onClick:B,className:C?"is-selected":void 0,"aria-expanded":C,"aria-haspopup":"dialog",variant:o==="disabled"?"disabled":"default",disabled:!s&&typeof i!="function"})})]}),C&&r.jsx(_r,{text:y??s,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:x,onClose:k,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function lu(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function fo({index:e,stepIndex:t,isLast:a=!1,title:o="",titleProps:n={},children:i,className:s="",onDone:c=void 0,useTitleFaded:d=void 0}){const{t:u}=be.useTranslation(),[h,p]=l.useState(()=>lu(e,t));l.useEffect(()=>{const A=lu(e,t);if(A!==h){const w=setTimeout(()=>p(A),0);return()=>clearTimeout(w)}},[e,t,h]);const m=l.useCallback((...A)=>{lu(e,t)==="done"||h==="done"||typeof c=="function"&&c(...A)},[e,t,h,c]),[f,g]=l.useState(!1),[v,C]=l.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),b=l.useCallback(A=>{if(!A)return null;try{const w=A;if(typeof A=="object"&&(w.currentTarget||w.target)&&(w.nativeEvent||w.type)){const B=w.currentTarget??w.target;if(B&&typeof B.getBoundingClientRect=="function")return B.getBoundingClientRect()}if(A instanceof DOMRect)return A;const N=A;if(N&&typeof N.getBoundingClientRect=="function")return N.getBoundingClientRect();const k=A?.current;return k&&typeof k.getBoundingClientRect=="function"?k.getBoundingClientRect():null}catch{return null}},[]),x=l.useCallback((A,{text:w="",label:N="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:k=!1,alignX:B="center",alignY:S="top"}={})=>{const T=b(A);C({text:w,label:N,anchorRect:T,backdrop:k,alignX:B,alignY:S}),g(!0)},[b]),_=l.useCallback(()=>{g(!1),C(A=>({...A,anchorRect:null}))},[]),y=l.Children.map(i,A=>{if(l.isValidElement(A)){const w=A;if(typeof w.type=="string")return w;const N=w.props??{},k=typeof N.onDone=="function"?N.onDone:m,B=typeof N.disabled=="boolean";let S=h==="disabled";return B&&(S=!!N.disabled),l.cloneElement(w,{onDone:k,disabled:S,showTooltip:x,hideTooltip:_})}return A});return r.jsxs("div",{className:`training-step training-step--${h} ${a?"training-step--last":""} ${s}`,"aria-current":h==="active",children:[r.jsx(iu,{state:h}),r.jsxs("div",{className:"training-step__content",children:[r.jsx(su,{state:h,title:o,...n,useFaded:d}),y]}),f?r.jsx(Ua,{anchorRect:v.anchorRect,backdrop:v.backdrop,onClose:_,ariaLabel:u("tooltip.textbox","\uBCF8\uBB38"),children:r.jsx(_r,{text:v.text,onClose:_})}):null]})}var U9='.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)}';ne(U9);function cu({context:e,state:t="disabled",theme:a="light"}){const{t:o}=be.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(M=>M==="dark"?"light":"dark"),{increase:u,decrease:h,canIncrease:p,canDecrease:m,fontSize:f,lineHeight:g}=li({storageKey:"textbox_fontScale"}),[v,C]=l.useState(""),b=l.useRef(null),x=l.useRef(!1),_=l.useCallback(()=>{x.current=ji()&&!!b.current&&b.current.contains(document.activeElement),i("active")},[]),y=l.useCallback(()=>C(""),[]),A=M=>{try{C(M)}catch{}},w=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");l.useEffect(()=>{if(t!=="disabled"){const M=setTimeout(()=>i(t),0);return()=>clearTimeout(M)}},[t]);const N=l.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[k,B]=l.useState(N);k!==N&&(B(N),i("disabled"));const S=t==="disabled"?n:t,T=S==="disabled"?"training-text-box--disabled":S==="active"?"training-text-box--active":S==="done"?"training-text-box--done":"",R=l.useMemo(()=>({fontSize:`${f}px`,lineHeight:`${g}px`}),[f,g]);return l.useEffect(()=>{if(S==="disabled"||!x.current)return;x.current=!1;const M=document.activeElement;M&&M!==document.body||b.current?.querySelector(".training-text-box__buttons button")?.focus()},[S]),r.jsxs("div",{ref:b,className:`training-text-box ${T} ${S!=="disabled"&&s==="dark"?"is-dark":""}`,children:[S==="disabled"&&r.jsx("div",{className:"training-text-box__preview",children:r.jsx(ue,{htmlType:"button",size:48,type:"bar",onClick:_,icon:"eye",ariaLabel:o("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),label:o("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),useBorder:!1})}),r.jsx("div",{className:"training-text-box__area","aria-hidden":S==="disabled",children:r.jsx("span",{className:"training-text-box__inner h3",style:R,children:N})}),S!=="disabled"&&r.jsxs("div",{className:"training-text-box__buttons","aria-hidden":S==="disabled",children:[r.jsx(ue,{htmlType:"button",size:32,type:"dot",onClick:h,onDisabledClick:()=>A(o("training.fontSizeMin","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uC18C\uC785\uB2C8\uB2E4.")),ariaLabel:o("training.fontSizeDecrease","\uAE00\uC790 \uD06C\uAE30 \uAC10\uC18C"),icon:"minus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),r.jsx(ue,{htmlType:"button",size:32,type:"dot",onClick:u,onDisabledClick:()=>A(o("training.fontSizeMax","\uAE00\uC528 \uD06C\uAE30\uAC00 \uCD5C\uB300\uC785\uB2C8\uB2E4.")),ariaLabel:o("training.fontSizeIncrease","\uAE00\uC790 \uD06C\uAE30 \uC99D\uAC00"),icon:"plus",variant:s==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!w&&{width:"60px"}}),r.jsx(ue,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:s==="dark"?"moon":"sun-medium",onClick:d,ariaLabel:o("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:s==="dark"?"transparent-white":"transparent-gray"})]}),r.jsx(Mo,{message:v,position:"top",onClose:y})]})}function Ui({index:e,stepIndex:t,isLast:a=!1,title:o,useTitleFaded:n,onDone:i,onChange:s,answer:c,wrongAnswers:d,choices:u,multiSelect:h=!1,correctCount:p=0,useDisabledCovered:m=!1,choiceIcons:f,shuffleChoices:g=!0}){const{t:v}=be.useTranslation(),C=o??v("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),b=typeof e=="number"?e:-1,x=typeof t!="number"?"disabled":b<t?"done":b===t?"active":"disabled",_=Array.isArray(u)&&u.length?u:typeof c<"u"?[c].concat(Array.isArray(d)?d:[]):void 0,y=d?d.join("||"):"",A=u?u.join("||"):"",[w,N]=l.useState(()=>Array.isArray(_)?g?Je(_):_.slice():void 0);l.useEffect(()=>{Array.isArray(_)&&_.length?N(g?Je(_):_.slice()):N(void 0)},[c,y,A,g]);const[k,B]=l.useState(null),[S,T]=l.useState(()=>new Set);l.useEffect(()=>{B(null),T(new Set)},[A,c,y]);const R=l.useRef(void 0);l.useEffect(()=>{const E=R.current;typeof E=="number"&&typeof t=="number"&&typeof e=="number"&&E>=e&&t<e&&(B(null),T(new Set)),R.current=t},[t,e]);const M=l.useCallback(E=>{if(x!=="active")return;const V=w?.[E];if(V==null)return;const X=V,G=x==="active"||x==="done";if(h){const q=new Set(S),$=q.has(X);$?q.delete(X):q.add(X),T(q),typeof s=="function"&&s({selectedValues:[...q],__ts:Date.now()}),G&&(typeof p=="number"&&p>0?q.size>=p:!$)&&typeof i=="function"&&x==="active"&&i({selectedValues:[...q],__ts:Date.now()})}else B(X),typeof s=="function"&&s({selectedIndex:E,selectedValue:X,__ts:Date.now()}),G&&typeof i=="function"&&x==="active"&&i({selectedIndex:E,selectedValue:X,__ts:Date.now()})},[w,x,h,s,i,p,S]),I=`training-step__buttons${Array.isArray(w)&&w.length>3?" training-step__buttons--wrap-3":""}`;return r.jsx(fo,{index:e,stepIndex:t,isLast:a,title:C,useTitleFaded:n,children:r.jsx("div",{className:I,children:Array.isArray(w)&&w.length>0?w.map((E,V)=>r.jsx(ue,{htmlType:"button",size:56,type:"bar",onClick:()=>M(V),ariaLabel:String(E),label:E,useLabel:!0,icon:f?f[String(E)]:void 0,variant:"default",disabled:x==="disabled",selected:h?S.has(E):k===E,useDisabledCovered:m,minWidth:0},String(E))):null})})}function qi({index:e,stepIndex:t,isLast:a=!1,title:o,onDone:n,onChange:i,context:s,demoSelected:c}){const{t:d}=be.useTranslation(),u=o??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),h=typeof e=="number"?e:-1,p=typeof t!="number"?"disabled":h<t?"done":h===t?"active":"disabled",m=s&&typeof s=="object"?s.sentence||"":typeof s=="string"?s:"",f=s&&typeof s=="object"?s.choices:void 0,[g,v]=l.useState(c??null),C=`${String(m)}\0${JSON.stringify(f??null)}`,[b,x]=l.useState(C);b!==C&&(x(C),c==null&&v(null));const[_,y]=l.useState(c);Object.is(_,c)||(y(c),v(c??null));const A=l.useRef(void 0);l.useEffect(()=>{const B=A.current;typeof B=="number"&&typeof t=="number"&&typeof e=="number"&&B>=e&&t<e&&c==null&&v(null),A.current=t},[t,e,c]);const w=l.useCallback(B=>{const S=typeof B=="object"&&B!==null?Object.assign({},B,{__ts:Date.now()}):{value:B,__ts:Date.now()};typeof i=="function"&&i(S),p==="active"&&typeof n=="function"&&n(S)},[i,p,n]),N=l.useCallback(()=>{p==="active"&&(v(!1),w(!1))},[w,p]),k=l.useCallback(()=>{p==="active"&&(v(!0),w(!0))},[w,p]);return r.jsxs(fo,{index:e,stepIndex:t,isLast:a,title:u,onDone:n,useTitleFaded:!1,children:[r.jsx(cu,{context:s,state:p}),r.jsx("div",{className:"training-step__buttons",children:Array.isArray(f)&&f.length>0?f.slice(0,6).map((B,S)=>r.jsx(ue,{htmlType:"button",size:56,type:"bar",onClick:()=>{p==="active"&&(v(S),w&&w(S))},disabled:p==="disabled",ariaLabel:String(B),label:B,variant:p,selected:g===S},S)):r.jsxs(r.Fragment,{children:[r.jsx(ue,{htmlType:"button",size:56,type:"bar",onClick:N,disabled:p==="disabled",icon:"x",ariaLabel:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),label:d("training.notHeard","\uC548 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:g===!1}),r.jsx(ue,{htmlType:"button",size:56,type:"bar",onClick:k,disabled:p==="disabled",icon:"circle",ariaLabel:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),label:d("training.heardWell","\uC798 \uB4E4\uB838\uC5B4\uC694."),variant:"default",selected:g===!0})]})})]})}function Yi({index:e,stepIndex:t,isLast:a=!1,title:o,onDone:n,btnLabel:i,soundSrc:s,bucketPath:c,usePreviewTextBtn:d,previewText:u=null,onPreviewTextBtn:h,disabled:p,_pageIndex:m,showSoundWaveForm:f,showNoiseWaveForm:g}){const{t:v}=be.useTranslation(),C=o??v("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),b=p??(typeof t=="number"&&typeof e=="number"?e>t:!1);return r.jsx(fo,{index:e,stepIndex:t,isLast:a,title:C,onDone:n,titleProps:{usePreviewTextBtn:d,previewText:u,onPreviewTextBtn:h},children:r.jsx(Cn,{soundSrc:s,ttsText:s?null:u??C,bucketPath:c,btnLabel:i||v("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:b,className:"training-step__listen-sticky",showSoundWaveForm:f,showNoiseWaveForm:g},`audio-p${m??0}-s${e}`)})}var q9=".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%}";ne(q9);var Y9=".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}";ne(Y9);const K9=[];function Ki({index:e,stepIndex:t,isLast:a=!1,title:o,onDone:n,onChange:i,context:s=K9}){const{t:c}=be.useTranslation(),d=o??c("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),u=O=>typeof O=="string"?O:O&&(O.context||O.sentence||O.question||"")||"",[h,p]=l.useState(Array.isArray(s)?s:[]),[m,f]=l.useState(()=>(h||[]).map((O,D)=>({id:D,text:u(O)}))),g=l.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),v=g!=="disabled",C=l.useRef(void 0);l.useEffect(()=>{if(C.current===s)return;C.current=s;const O=Array.isArray(s)?s:[];p(O);const D=(H=>{const F=(H||[]).map((ae,se)=>({id:se,text:u(ae)}));if(F.length<=1)return F;const j=(ae,se)=>{if(ae.length!==se.length)return!1;for(let ye=0;ye<ae.length;ye++)if(ae[ye].text!==se[ye].text)return!1;return!0};let P=Je(F),oe=0;for(;j(P,F)&&oe<20;)P=Je(F),oe+=1;return P})(O);f(D);try{if(typeof i=="function"){const H=D.filter((F,j)=>F.text===u(O[j])).length;i({shuffled:D,score:H,total:(O||[]).length,initial:!0,__ts:Date.now()})}if(typeof n=="function"&&g==="active"){const H=D.filter((F,j)=>F.text===u(O[j])).length;n({shuffled:D,score:H,total:(O||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[s]);const b=(O,D)=>{const H=[...m],F=O+D;if(F<0||F>=H.length)return;const j=H[F];H[F]=H[O],H[O]=j,V(H);try{if(typeof n=="function"&&g==="active"){const P=H.filter((oe,ae)=>oe.text===u(h[ae])).length;n({shuffled:H,score:P,total:(h||[]).length,__ts:Date.now()})}}catch{}},[x,_]=l.useState(null),y=l.useRef(null),A=l.useRef(null),w=l.useRef(null),N=l.useRef(null),k=l.useRef(null),B=l.useRef({x:0,y:0}),S=l.useRef(null),T=l.useRef({dx:0,dy:0}),R=()=>{if(S.current!==null)return;const O=()=>{if(!y.current){S.current=null;return}S.current=requestAnimationFrame(O);const D=B.current,H=T.current||{dx:0,dy:0};y.current&&(y.current.style.transform=`translate3d(${D.x-H.dx}px, ${D.y-H.dy}px, 0)`)};S.current=requestAnimationFrame(O)},M=l.useRef(new Map),I=l.useRef(new Map),E=()=>{const O=new Map;return M.current.forEach((D,H)=>{D&&D.getBoundingClientRect&&O.set(H,D.getBoundingClientRect())}),O},V=O=>{const D=E();f(O);try{if(typeof i=="function"){const H=O.filter((F,j)=>F.text===u(h[j])).length;i({shuffled:O,score:H,total:(h||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const H=E();O.forEach(F=>{const j=D.get(F.id),P=H.get(F.id),oe=M.current.get(F.id);if(!oe||!j||!P)return;const ae=j.top-P.top;ae&&(oe.style.transition="none",oe.style.transform=`translateY(${ae}px)`,requestAnimationFrame(()=>{oe.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",oe.style.transform="";const se=()=>{oe.style.transition="",oe.removeEventListener("transitionend",se)};oe.addEventListener("transitionend",se)}))})})},X=(O,D)=>{try{try{D.dataTransfer?.setData("text/plain",String(O))}catch{}try{D.dataTransfer&&(D.dataTransfer.effectAllowed="move")}catch{}try{const H=document.createElement("div");H.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(H),D.dataTransfer?.setDragImage(H,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(H)}catch{}})}catch{}}catch{}_(O);try{const H=m[O],F=document.createElement("div");F.className="order-list__dragging-object order-list__dragging-object--visible",F.textContent=H&&H.text?H.text:"",document.body.appendChild(F),y.current=F;const j=M.current.get(H.id);let P=D.clientX||0,oe=D.clientY||0;try{if(j&&j.getBoundingClientRect){const ce=j.getBoundingClientRect();P=ce.left+ce.width/2,oe=ce.top+ce.height/2}}catch{}const ae=F.getBoundingClientRect(),se=ae.width/2,ye=ae.height/2;T.current={dx:se,dy:ye},F.style.transition="none",B.current={x:P,y:oe},F.style.transform=`translate3d(${P-se}px, ${oe-ye}px, 0)`,requestAnimationFrame(()=>{try{F.style.transition=""}catch{}R()});const ge=ce=>{const Y=ce;B.current={x:Y.clientX,y:Y.clientY},R()};w.current=ge,document.addEventListener("mousemove",ge);const De=ce=>{const Y=ce;B.current={x:Y.clientX,y:Y.clientY},R()};A.current=De,document.addEventListener("dragover",De);try{D.dataTransfer?.setData("text/plain",String(O));try{D.dataTransfer?.setData("application/json",JSON.stringify({idx:O}))}catch{}}catch{}}catch{}},G=(O,D)=>{D.preventDefault();try{D.dataTransfer&&(D.dataTransfer.dropEffect="move")}catch{}try{k.current!==null&&(clearTimeout(k.current),k.current=null);const H=D.currentTarget&&D.currentTarget.closest?D.currentTarget.closest(".order-list__item"):null;if(H&&N.current!==H){if(N.current)try{N.current.classList.remove("drag-over")}catch{}try{H.classList.add("drag-over")}catch{}N.current=H}}catch{}},q=(O,D)=>{D.preventDefault();const H=D.dataTransfer?.getData("text/plain")||"",F=H?parseInt(H,10):x,j=O;if(typeof F!="number"||isNaN(F)||F===j){_(null),K(),$();return}const P=pl(m,F,j);V(P),_(null),$();try{if(typeof n=="function"&&g==="active"){const oe=P.filter((ae,se)=>ae.text===u(h[se])).length;n({shuffled:P,score:oe,total:(h||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const oe=document.querySelectorAll(".order-list .order-list__item")[j];if(!oe)return;const ae=oe.querySelector(".order-list__slot")||oe;try{ae.classList.add("pulse"),ae.offsetHeight,ae.classList.add("to-dark");const se=()=>{ae.classList.remove("pulse","to-dark"),ae.removeEventListener("transitionend",se)};ae.addEventListener("transitionend",se)}catch{}})}catch{}K()},$=()=>{if(y.current){try{document.body.removeChild(y.current)}catch{}y.current=null}A.current&&(document.removeEventListener("dragover",A.current),A.current=null),w.current&&(document.removeEventListener("mousemove",w.current),w.current=null),S.current!==null&&(cancelAnimationFrame(S.current),S.current=null)},z=()=>{_(null),K(),$()};l.useEffect(()=>()=>$(),[]);const K=()=>{try{if(k.current!==null&&(clearTimeout(k.current),k.current=null),N.current){try{N.current.classList.remove("drag-over")}catch{}N.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(O=>O.classList.remove("drag-over"))}catch{}};return l.useEffect(()=>{try{const O=Math.max(1,(m||[]).length);m.forEach((D,H)=>{const F=I.current.get(D.id);if(!F)return;let j=50;O>1&&(j=Math.round(H/(O-1)*100));try{F.style.setProperty("--marker-pos",j+"%")}catch{}})}catch{}},[m]),l.useEffect(()=>()=>{$(),k.current!==null&&(clearTimeout(k.current),k.current=null)},[]),r.jsx(fo,{index:e,stepIndex:t,isLast:a,title:d,children:r.jsx("div",{className:"order-list",children:m.map((O,D)=>{const H=Math.max(1,(m||[]).length),F=H>1?Math.round(D/(H-1)*100):50;return r.jsx("div",{className:"order-list__item",children:r.jsxs("div",{className:"order-list__slot","data-disabled":g==="disabled","aria-disabled":g==="disabled",children:[g!=="disabled"?r.jsx("div",{className:"order-list__marker caption-1",style:{"--marker-pos":F+"%"},ref:j=>{const P=I.current;j?P.set(O.id,j):P.delete(O.id)},children:r.jsx("span",{className:"order-list__slot-number button-1",children:D+1})}):null,r.jsxs("div",{ref:j=>{const P=M.current;j?P.set(O.id,j):P.delete(O.id)},className:`order-list__draggable ${x===D?"dragging":""}`,"data-disabled":g==="disabled","aria-disabled":g==="disabled",tabIndex:g==="disabled"?-1:0,draggable:v,onDragStart:v?j=>X(D,j):void 0,onDragEnter:v?j=>G(D,j):void 0,onDragOver:v?j=>G(D,j):void 0,onDragLeave:v?()=>{try{k.current!==null&&clearTimeout(k.current),k.current=setTimeout(()=>{try{const j=document.querySelectorAll(".order-list .order-list__item");j&&j[D]&&(j[D].classList.remove("drag-over"),N.current===j[D]&&(N.current=null))}catch{}},80)}catch{}}:void 0,onDrop:v?j=>q(D,j):void 0,onDragEnd:v?z:void 0,children:[r.jsx("span",{className:"order-list__item-text body-2",children:O.text}),v?r.jsxs("span",{className:"order-list__item-buttons",children:[r.jsx(ue,{htmlType:"button",size:32,type:"dot",onClick:()=>b(D,-1),ariaLabel:c("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===0,useBorder:!1,useDisabledInvisible:!0}),r.jsx(ue,{htmlType:"button",size:32,type:"dot",onClick:()=>b(D,1),ariaLabel:c("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:D===m.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},O.id)})})})}var Z9="";ne(Z9);const X9=8e3;function J9(e,t){return new Promise(a=>{let o=!1;const n=()=>{o||(o=!0,a())};e.then(n,n),setTimeout(n,t)})}function du({index:e,stepIndex:t,isLast:a=!1,title:o,onDone:n,onChange:i,context:s=[],selectable:c=!1,hideLabel:d=!1,hideAudio:u=!1,maxCards:h}){const{t:p}=be.useTranslation(),m=o??p("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),f=l.useMemo(()=>Array.isArray(s)?s:s&&s.items||[],[s]),g=h??3,v=(f||[]).slice(0,g);(f||[]).length>g&&console.warn(`TrainingStepCard: ${f.length} items passed but only ${g} shown`);const C=typeof e=="number"?e:-1,b=typeof t!="number"?"disabled":C<t?"done":C===t?"active":"disabled",[x,_]=l.useState(null),y=l.useRef([]),[A,w]=l.useState(!1),N=l.useRef(null),k=l.useRef(!0);l.useEffect(()=>(k.current=!0,()=>{k.current=!1}),[]);const B=l.useMemo(()=>f.map(I=>I?.id??I?.word??"").join("|"),[f]);l.useEffect(()=>{_(null)},[B]);const S=l.useRef(void 0);l.useEffect(()=>{const I=S.current;typeof I=="number"&&typeof t=="number"&&typeof e=="number"&&I>=e&&t<e&&_(null),S.current=t},[t,e]);const T=l.useCallback((I,E)=>{if(c)return;const V={item:I,index:E,__ts:Date.now()};try{typeof i=="function"&&i(V)}catch{}if(b==="active"&&typeof n=="function")try{n(V)}catch{}},[c,i,b,n]),R=l.useCallback(async()=>{if(A||b==="disabled")return;w(!0);let I=!1;const E=new Promise(V=>{N.current=()=>{I=!0,V()}});try{for(let V=0;V<v.length&&!(!k.current||I);V++){const X=y.current[V];X&&await Promise.race([J9(X.play(),X9),E])}}finally{N.current=null,w(!1)}},[A,b,v.length]),M=l.useCallback((I,E)=>{if(b!=="active")return;_(E);const V={selectedValue:I.word||I.title||"",selectedIndex:E,item:I,__ts:Date.now()};try{typeof i=="function"&&i(V)}catch{}if(b==="active"&&typeof n=="function")try{n(V)}catch{}},[i,b,n]);return r.jsx(fo,{index:e,stepIndex:t,isLast:a,title:m,onDone:n,titleProps:{usePlayAllBtn:!u&&v.length>0,onPlayAll:R,playAllActive:A},children:r.jsx("div",{className:"training-step__cards",onClickCapture:I=>{const E=N.current;if(!E)return;const V=I.target;V&&typeof V.closest=="function"&&V.closest(".training-word-card__bottom")&&E()},children:v.length===0?r.jsx("div",{className:"training-step__empty",children:p("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):v.map((I,E)=>r.jsx(Mi,{ref:V=>{y.current[E]=V},item:I,disabled:b==="disabled",onPlayDone:()=>T(I,E),selectable:c,selected:c&&x===E,onSelect:c?()=>M(I,E):void 0,flipDelay:E*120,hideLabel:d,hideAudio:u},I&&I.id||E))})})}const Q9=160;var eA=".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--compact-rows .panel-row{min-height:46px;padding-bottom:3px;padding-top:3px}.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__body--gutter-stable{scrollbar-gutter:stable}.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}}";ne(eA);const tA={\uBCF4\uCCAD\uAE30:"hearingAid",\uC778\uACF5\uC640\uC6B0:"cochlearImplant"};function aA(e,t){const a=tA[e];return a?t(`device.type.${a}`,{defaultValue:e}):e}const cf=()=>{};function Za(e){const t=l.useId();if(!("variant"in e)){const{label:b,sub:x,onClick:_,children:y,align:A="horizontal",icon:w}=e,N=k=>{_&&k.target===k.currentTarget&&(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),_())};return r.jsxs("div",{className:Ee("panel-row",A==="vertical"?"panel-row--vertical":"",_?"panel-row--clickable":""),onClick:_,onKeyDown:_?N:void 0,role:_?"button":void 0,tabIndex:_?0:void 0,children:[w!=null&&r.jsx("div",{className:"panel-row__icon",children:w}),b!=null&&r.jsxs("div",{className:"panel-row__left",children:[r.jsx("div",{className:"panel-row__label body-3",children:b}),x&&r.jsx("div",{className:"panel-row__sub caption-1",children:x})]}),r.jsx("div",{className:"panel-row__right",children:y})]})}if(e.variant==="description")return r.jsx("div",{className:"panel-row panel-row--block",children:r.jsx("p",{className:"panel-row__description body-3",children:e.children})});if(e.variant==="empty")return r.jsx("div",{className:"panel-row panel-row--empty body-3",children:e.children});if(e.variant==="loading")return r.jsx("div",{className:"panel-row panel-row--loading",children:r.jsx(mr,{size:28})});if(e.variant==="custom"&&!e.label)return r.jsx("div",{className:"panel-row panel-row--block",children:e.children});const{variant:a,label:o,sub:n,onClick:i,required:s,error:c,align:d="horizontal",useFullWidth:u=!1,icon:h}=e,p=a==="button"?void 0:i;let m=null;const f=a==="toggle"?`panel-toggle-${t}`:void 0,g=c?`panel-error-${t}`:void 0;if(a==="toggle"){const b=e;m=r.jsx(Nd,{checked:b.checked,onChange:b.onChange,id:f})}else if(a==="segmented"){const b=e;m=r.jsx(bo,{options:b.options,value:b.value,onChange:b.onChange,size:b.size??40,ariaLabel:o})}else if(a==="dropdown"){const b=e,x=b.dropdowns?.length?r.jsx("div",{className:`panel-row__dropdown-group${u?" panel-row__dropdown-group--full":""}`,children:b.dropdowns.map((_,y)=>r.jsx("div",{className:u?"panel-row__dropdown-item--full":void 0,children:r.jsx(pa,{options:_.options,value:_.value,onChange:_.onChange,placeholder:_.placeholder,block:u,error:!!c,ariaDescribedBy:g,ariaLabel:_.ariaLabel??([o,_.placeholder].filter(Boolean).join(" ")||void 0)})},y))}):r.jsx(pa,{options:b.options??[],value:b.value??"",onChange:b.onChange??cf,block:u,error:!!c,ariaLabel:o,ariaDescribedBy:g});m=c?r.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[x,r.jsx("span",{id:g,className:"caption-1 panel-row__error",role:"alert",children:c})]}):x}else if(a==="button"){const b=e;b.buttons?.length?m=r.jsx("div",{className:"panel-row__button-group",children:b.buttons.map((x,_)=>r.jsx(ue,{htmlType:"button",size:x.btnSize??40,variant:x.btnVariant??"default",disabled:x.disabled,onClick:x.onClick,children:x.label},_))}):m=r.jsx(ue,{htmlType:"button",size:b.btnSize??40,variant:b.btnVariant??"default",disabled:b.disabled,onClick:b.onClick,children:b.buttonLabel})}else if(a==="text"){const b=e;m=r.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;m=r.jsxs("div",{className:`panel-row__input-wrap${u?" panel-row__input-wrap--full":""}`,children:[r.jsx(mo,{value:b.value,onChange:b.onChange??cf,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:o,required:s}),b.helperText&&r.jsx("div",{className:"panel-row__helper caption-1",children:b.helperText})]})}else a==="custom"&&(m=e.children);c&&a!=="input"&&a!=="dropdown"&&(m=r.jsxs("div",{className:`panel-row__dropdown-error-wrap${u?" panel-row__dropdown-error-wrap--full":""}`,children:[m,r.jsx("span",{id:g,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const v=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&u,C=b=>{p&&b.target===b.currentTarget&&(b.key==="Enter"||b.key===" ")&&(b.preventDefault(),p())};return r.jsxs("div",{className:Ee("panel-row",d==="vertical"?"panel-row--vertical":"",v?"panel-row--label-fixed":"",a==="text"?"panel-row--text":"",p?"panel-row--clickable":""),onClick:p,onKeyDown:p?C:void 0,role:p?"button":void 0,tabIndex:p?0:void 0,children:[h!=null&&r.jsx("div",{className:"panel-row__icon",children:h}),r.jsxs("div",{className:"panel-row__left",children:[f?r.jsxs("label",{htmlFor:f,className:"panel-row__label body-3",children:[o,s&&r.jsx("span",{className:"required-mark",children:"*"})]}):r.jsxs("div",{className:"panel-row__label body-3",children:[o,s&&r.jsx("span",{className:"required-mark",children:"*"})]}),n&&r.jsx("div",{className:"panel-row__sub caption-1",children:n})]}),r.jsx("div",{className:"panel-row__right",children:m})]})}function df(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(o=>!!o&&o!==t);return[...new Set(a)].join(" \xB7 ")}function uf({devices:e,onRelease:t,emptyLabel:a}){const{t:o}=be.useTranslation();return r.jsx("div",{className:"panel-row panel-row--device",children:["\uC88C","\uC6B0"].map(n=>{const i=e[n],s=n==="\uC88C"?o("device.direction.left","\uC88C"):o("device.direction.right","\uC6B0");return r.jsxs("div",{className:"panel-row__device-column",children:[r.jsxs("div",{className:"panel-row__device-head",children:[r.jsx("span",{className:"panel-row__device-side body-2b",children:s}),i&&t&&r.jsx(ue,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${s} ${o("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:o("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(n)})]}),i?r.jsxs("div",{className:"panel-row__device-info",children:[r.jsxs("span",{className:"panel-row__device-kind",children:[i.device&&r.jsx(gt,{size:"small",variant:Hg(i.device),fill:"soft",label:aA(i.device,o)}),df(i)&&r.jsx("span",{className:"panel-row__device-detail body-3",children:df(i)})]}),r.jsx("span",{className:"panel-row__device-name body-2b",children:i.productName||i.brand}),Id(i.wornYear,i.wornMonth,i.wornDay)&&r.jsx("span",{className:"panel-row__device-date caption-1",children:o("customers.device.wornSince",{date:Id(i.wornYear,i.wornMonth,i.wornDay)})})]}):r.jsx("span",{className:"panel-row__device-empty body-3",children:a??o("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},n)})})}function _n({title:e,icon:t,disc:a,actions:o,size:n="medium",minHeight:i,maxWidth:s,className:c,scrollable:d,scrollbarGutter:u="auto",compactRows:h=!1,useBorder:p=!0,useBg:m=!0,useRowBorder:f=!0,labelWidth:g,form:v=!1,loading:C,empty:b,children:x}){const _=Ee("panel",`panel--${n}`,v?"panel--form":"",i!==void 0?"panel--fill":"",p?"":"panel--no-border",m?"":"panel--no-bg",f?"":"panel--no-row-border",h?"panel--compact-rows":"",c),y={};return i!==void 0&&(y.minHeight=i),s!==void 0&&(y.maxWidth=typeof s=="number"?`${s}px`:s),g!==void 0&&(y["--panel-label-width"]=typeof g=="number"?`${g}px`:g),r.jsxs("div",{className:_,style:Object.keys(y).length?y:void 0,children:[(e!=null||a!=null)&&r.jsxs("div",{className:Ee("panel__header",a!=null?"panel__header--with-disc":""),children:[t&&r.jsx(Ke,{icon:t,label:typeof e=="string"?e:void 0,className:"panel__icon"}),r.jsxs("div",{className:"panel__title-group",children:[e!=null&&r.jsx("h2",{className:`panel__title ${a!=null?"body-3b":"h5b"}`,children:e}),a!=null&&r.jsx("p",{className:"panel__disc caption-1",children:a})]}),o&&r.jsx("div",{className:"panel__actions",children:o})]}),C?r.jsx(Za,{variant:"loading"}):b!=null&&l.Children.toArray(x).length===0?r.jsx(Za,{variant:"empty",children:b}):d?r.jsx("div",{className:Ee("panel__body--scroll",u==="stable"&&"panel__body--gutter-stable"),children:x}):x]})}function pf({cols:e=2,children:t}){return r.jsx("div",{className:"panel-grid",style:{"--panel-grid-cols":e},children:t})}function oA(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 hf(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"}]}oA(ut.t.bind(ut)),hf(ut.t.bind(ut));var rA='.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}';ne(rA);const uu="none",nA=.5,iA=1.5,sA=.25;function pu({title:e,valueLabel:t,value:a,min:o,max:n,step:i,tickStep:s,size:c,onChange:d}){return r.jsxs(Za,{variant:"custom",label:e,useFullWidth:!0,children:[r.jsx(Ld,{value:a,onChange:d,min:o,max:n,step:i,size:c,showBgTick:!0,tickStep:s,ariaLabel:e,className:"noise-settings__slider-input"}),r.jsx("div",{className:"noise-settings__value button-1",children:t})]})}function hu({anchorRect:e,onClose:t}){const{t:a}=be.useTranslation(),o=na("(max-width: 767px)")?40:24,n=yn(),i=vr(n?.settings??yr),s=n?.settings.type??"defaultNoise",c=n?.settings.enabled??!0,d=n?.playbackRate??1,u=n?.mainVolume??1,h=Math.round(u*100),p=l.useCallback(v=>{try{n?.setMainVolume(Math.max(0,Math.min(1,v/100)))}catch{}},[n]),m=l.useCallback(v=>{try{n?.setPlaybackRate(v)}catch{}},[n]),f=l.useCallback(v=>{const C=Math.min(fr,Math.max(0,Math.round(v*10)/10));try{n?.setSettings({noiseRatio:C})}catch{}},[n]),g=l.useCallback(v=>{try{v===uu?n?.setSettings({enabled:!1}):n?.setSettings({type:v,enabled:!0})}catch{}},[n]);return r.jsx(Ua,{anchorRect:e,offset:12,onClose:t,ariaLabel:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:r.jsxs("div",{className:"noise-settings__header",children:[r.jsx("span",{children:a("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),r.jsx(ue,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:a("common.close","\uB2EB\uAE30"),onClick:t})]}),children:r.jsxs(_n,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[r.jsx(pu,{title:a("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${h}%`,value:h,min:0,max:100,step:10,size:o,onChange:p}),r.jsx(pu,{title:a("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:nA,max:iA,step:sA,size:o,onChange:m}),r.jsx(Za,{variant:"custom",label:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:r.jsx(bo,{ariaLabel:a("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:[{key:uu,label:a("training.noise.type.none","\uC5C6\uC74C")},...hf(a).map(v=>({key:v.value,label:v.label}))],value:c?s:uu,onChange:g})}),r.jsx(pu,{title:a("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:a("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:i.toFixed(1)}),value:i,min:0,max:fr,step:tu,size:o,onChange:f})]})})}var lA=".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}";ne(lA);function mu({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:o,stepIndex:n=0,stepCount:i=0,pageIndex:s=0,pageCount:c=1}){const{t:d}=be.useTranslation(),[u,h]=l.useState(!1),[p,m]=l.useState(null),[f,g]=l.useState(!1),v=l.useRef(null),C=l.useRef(null),b=yn(),x=c>0,_=x&&s<c-1,y=!x||s>=c-1,A=n===Math.max(0,i);l.useEffect(()=>{e||(h(!1),m(null))},[e]);const w=l.useCallback(()=>{h(!1),m(null)},[]),N=l.useCallback(()=>{if(u){h(!1),m(null);return}const S=v?.current?.getBoundingClientRect();S&&m(S),t?.(),h(!0)},[u,t]),k=l.useCallback(()=>{if(u){h(!1),m(null);return}const S=C?.current?.getBoundingClientRect();S&&m(S),t?.(),h(!0)},[u,t]),B=l.useCallback(()=>g(S=>!S),[]);return lf(e&&u,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[v.current,C.current].map(S=>S?.querySelector("button")??null).find(S=>!!S&&S.getClientRects().length>0)??v.current?.querySelector("button")??null),r.jsxs("div",{className:"pp-bottom",children:[r.jsxs("div",{className:"pp-bottom__left",children:[e?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"pp-bottom__settings--desktop",children:r.jsx("div",{ref:v,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:r.jsx(ue,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:N,className:u?"is-selected":void 0,"aria-expanded":u,"aria-haspopup":"dialog",ariaLabel:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:d("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),r.jsx("div",{className:"pp-bottom__settings--mobile",children:r.jsx("div",{ref:C,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:r.jsx(ue,{htmlType:"button",size:56,type:"dot",icon:"settings",onClick:k,className:u?"is-selected":void 0,"aria-expanded":u,"aria-haspopup":"dialog",ariaLabel:d("training.settings","\uC124\uC815"),minWidth:52})})})]}):null,e&&r.jsx(ue,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:B,selected:f,ariaLabel:d("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")}),e&&f&&r.jsxs("div",{className:"pp-bottom__meters",children:[r.jsxs("div",{className:"pp-bottom__meter",children:[r.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.sentence","\uC7AC\uC0DD")}),r.jsx(Si,{analyser:b?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.sentence","\uC7AC\uC0DD")})]}),r.jsxs("div",{className:"pp-bottom__meter",children:[r.jsx("span",{className:"pp-bottom__meter-label caption-1",children:d("training.meter.noise","\uC18C\uC74C")}),r.jsx(Si,{analyser:b?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:d("training.meter.noise","\uC18C\uC74C")})]})]})]}),r.jsxs("div",{className:"pp-bottom__right",children:[y&&r.jsx(ue,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof o=="function"?o:a,ariaLabel:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:d("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!A}),_&&r.jsx(ue,{htmlType:"button",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:!A})]}),e&&u&&r.jsx(hu,{anchorRect:p,onClose:w})]})}var cA=".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}}";ne(cA);function bu({title:e,subtitle:t,desc:a,depth:o,icon:n,wrapperStyle:i,iconTooltip:s,pageIndex:c,pageCount:d,progressMax:u,progressIndex:h,onBack:p,onClose:m}){const{t:f}=be.useTranslation(),g=na("(max-width: 767px)"),v=Number.isInteger(h)?h:c||0,C=Number.isInteger(u)?u:d||0,b=p||m,x=Array.isArray(o)?g?o[o.length-1]:o.join(" / "):o,_=typeof e=="string"?e.trim():e,y=typeof t=="string"?t.trim():t,A=!!(_||y),w=A?_||y:f("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),N=x||(_?t:void 0),k=g&&typeof N=="string"&&(N.includes(" \xB7 ")||N.includes(" / "))?N.split(/\s[·/]\s/).pop():N,B=l.useMemo(()=>{const S=i&&typeof i=="object"?{...i}:{};return!("width"in S)&&!("height"in S)&&(S.width="40px",S.height="40px"),S},[i]);return r.jsxs("header",{className:"pp-title training-popup-title",children:[r.jsxs("div",{className:"pp-title__left",children:[b?r.jsx(ue,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:f("common.back","\uB4A4\uB85C"),onClick:b,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,r.jsx("div",{children:n?r.jsx(Yg,{icon:n,label:e,tooltip:s,wrapperStyle:B}):null}),r.jsxs("div",{className:"pp-title__text",children:[k?r.jsx("span",{className:"pp-title__depth caption-1",children:k}):null,r.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:w}),a?r.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),r.jsx(Pd,{max:Math.max(0,C??0),index:Math.max(0,v??0)})]})}function mf(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function bf(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)]}const gf=(e,t)=>{if(!t)return t;const a=typeof ut?.t=="function"?ut.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function gu(e,t,a){const o=e,n=o?.title||o?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=Zn().find(c=>c.key===(o?.category_0||o?.category_main_code)),s=i?.subs?.find(c=>c.key===(o?.category_1||o?.category_sub_code));return{title:n,label:o?.title||n,depth:t,icon:i?.icon,wrapperStyle:i?.color?{"--t-item-fg":i.color}:void 0,iconTooltip:[i?gf(`topic.${i.key}`,i.label):void 0,s?gf(`topic.sub.${s.key}`,s.label):void 0].filter(Boolean).join(" / ")||void 0}}function Zi(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function ff(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function vf({idPrefix:e,trainingData:t,depth:a,fallbackTitle:o="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:s,metaPatch:c}){const d=gu(t,a,o),u=typeof c=="function"?c(d)||{}:c||{},h=t?.id||t?.title||n.length;return{id:`${e}:${h}`,meta:{...d,...u},pages:n,emptyMessage:i,buildResults:s}}function xf(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function yf(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 Cf(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 fu(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function _f(e,t,a,o){return fu(e,t*a+o)}function wf({payload:e,selected:t,choices:a=[],correctAnswers:o=[]}){if(e&&typeof e=="object"){const n=e;if(Array.isArray(n.selectedValues))return o.every(i=>n.selectedValues.includes(i))&&n.selectedValues.every(i=>o.includes(i));if(typeof n.correct=="boolean")return n.correct}if(o.length){if(typeof t=="number"&&Array.isArray(a)&&a.length)return o.some(n=>String(n)===String(a[t]));if(typeof t<"u")return o.some(n=>String(n)===String(t))}}function kf(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 Af=l.createContext(null);function dA(){const e=l.useContext(Af);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function uA({index:e,stepIndex:t,isLast:a=!1,title:o,choices:n=[],onDone:i,onChange:s}){const{t:c}=be.useTranslation(),d=typeof e=="number"?e:-1,u=typeof t!="number"?"disabled":d<t?"done":d===t?"active":"disabled",[h,p]=l.useState(()=>n.map(()=>null)),m=JSON.stringify(n),f=n.length;l.useEffect(()=>{p(Array.from({length:f},()=>null))},[m]);const g=l.useRef(void 0);l.useEffect(()=>{const x=g.current;typeof x=="number"&&typeof t=="number"&&typeof e=="number"&&x>=e&&t<e&&p(Array.from({length:f},()=>null)),g.current=t},[t,e,f]);const v=l.useMemo(()=>h.filter(x=>x!==null).length+1,[h]),C=l.useCallback(x=>{if(u!=="active")return;const _=h;let y;if(_[x]!=null){const w=_[x];y=_.map(N=>N!==null&&N>=w?null:N)}else y=[..._],y[x]=v;p(y);const A={selectedOrder:y,words:n,__ts:Date.now()};try{typeof s=="function"&&s(A)}catch{}if(_[x]==null&&y.length>0&&y.every(w=>w!==null))try{typeof i=="function"&&i(A)}catch{}},[u,h,v,s,i,n]),b=o??c("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return r.jsx(fo,{index:e,stepIndex:t,isLast:a,title:b,onDone:i,children:r.jsx("div",{className:"training-step__cards",children:n.map((x,_)=>r.jsx(Mi,{item:{word:x},disabled:u==="disabled",selectable:!0,selected:h[_]!==null,orderRank:h[_],onSelect:()=>C(_),flipDelay:_*120,hideLabel:!1,hideAudio:!0},`${x}-${_}`))})})}function wn(e){return null}wn.__isTrainingPage=!0;function wr(e,t){const a=dA();return{ctx:a,index:e,stepIndex:a.currentStepIndex,isLast:typeof e=="number"&&typeof t=="number"?e===t-1:!1,onDone:o=>a.handleStepDone(o,e),onChange:o=>a.handleStepChange(o,e)}}function vu({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:s}=wr(e,t);return r.jsx(Yi,{...a,index:o,stepIndex:n,isLast:i,onDone:s})}function xu({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:s,onChange:c}=wr(e,t);return r.jsx(Ui,{...a,index:o,stepIndex:n,isLast:i,onDone:s,onChange:c})}function yu({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:s,onChange:c}=wr(e,t);return r.jsx(qi,{...a,index:o,stepIndex:n,isLast:i,onDone:s,onChange:c})}function Cu({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:s,onChange:c}=wr(e,t);return r.jsx(Ki,{...a,index:o,stepIndex:n,isLast:i,onDone:s,onChange:c})}function _u({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:s,onChange:c}=wr(e,t);return r.jsx(du,{...a,index:o,stepIndex:n,isLast:i,onDone:s,onChange:c})}function pA({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:s,onChange:c}=wr(e,t);return r.jsx(uA,{...a,index:o,stepIndex:n,isLast:i,onDone:s,onChange:c})}var hA=`.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)}.ihabdevteam-core-scope .popup-footer.trp-result__foot{flex-wrap:wrap}.ihabdevteam-core-scope .trp-actions__reason{flex-basis:100%;margin:0;text-align:center}@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}
1004
1004
  /* !important \uD544\uC694 \u2014 TrainingResultPopup.tsx\uAC00 Badge\uC5D0 minWidth={80}\uC744 \uC778\uB77C\uC778\uC73C\uB85C
1005
- \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}}`;ne(hA);function wu(...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,o=[a.text,a.label,a.value];for(const n of o){if(typeof n=="string"&&n.trim().length)return n.trim();if(typeof n=="number"||typeof n=="boolean")return String(n)}}}return null}function mA(e){return wu(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Bf(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=wu(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(o=>a.includes(o)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(o=>a.includes(o)))return!1}}function ku(e){const{score:t,contextsLength:a,results:o=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1,pending:d=!1}=e||{},{t:u}=be.useTranslation(),h=l.useId(),p=l.useCallback(()=>!d,[d]);l.useEffect(()=>{const x=a??0;if(t!=null&&x>0&&t/x>.5){const _=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(_)}},[t,a]);const m=l.useCallback(x=>{const _=Bf(x),y=wu(x?.wording,x?.label);return _===!0?{variant:"main",label:y??u("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:_===!1?{variant:"danger",label:y??u("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:y??u("training.result.notJudged","\uBBF8\uD310\uC815")}},[u]),f=a??0,g=t??0,v=l.useMemo(()=>Array.isArray(o)?o:[],[o]),C=l.useMemo(()=>v.map(x=>{const _=x??{},y=mA(_)||u("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:A,label:w}=m(_),N=Array.isArray(_.corrects)?_.corrects:[],k=N.length?N.join(", "):_.answer!=null&&_.answer!==""?String(_.answer):null,B=typeof _.selectedText=="string"?_.selectedText:null,S=Bf(_)===!0;return{problem:y,variant:A,label:w,answer:k,selectedText:B,isCorrect:S}}),[v,m,u]),b=l.useMemo(()=>C.some(x=>x.answer!==null||x.selectedText!==null),[C]);return r.jsx(Ka,{onClose:s,closeOnBackdrop:!1,inline:c,ariaLabel:u("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:p,footerClassName:"trp-result__foot",footer:({animateThen:x,closeWithAnimation:_})=>r.jsxs(r.Fragment,{children:[d&&r.jsx("p",{id:h,className:"trp-actions__reason caption-1",role:"status",children:u("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),r.jsxs("div",{className:"trp-actions",children:[r.jsx(ue,{htmlType:"button",size:56,type:"bar",label:u("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>x(i)}),r.jsx(ue,{htmlType:"button",size:56,type:"bar",label:u("training.result.done","\uC644\uB8CC"),variant:"main",onClick:_,disabled:d,onDisabledClick:d?()=>{}:void 0,"aria-describedby":d?h:void 0})]})]}),children:()=>r.jsxs("div",{className:"trp-result is-on",children:[r.jsxs("header",{className:"trp-result__head",children:[r.jsx("p",{className:"trp-result__eyebrow caption-1",children:u("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),r.jsx("h1",{className:"trp-result__title h2",children:u("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&r.jsx("p",{className:"trp-result__subtitle body-3",children:n}),r.jsx("div",{className:"trp-score",children:r.jsxs("div",{className:"trp-score__figure","aria-label":u("training.result.scoreAria",{correct:g,total:f}),children:[r.jsx("span",{className:"trp-score__big",children:g}),r.jsx("span",{className:"trp-score__sep",children:"/"}),r.jsx("span",{className:"trp-score__total",children:f})]})})]}),C.length>0&&r.jsx("section",{className:"trp-result__body",children:r.jsxs("div",{className:`result-table${b?" result-table--answer":""}`,role:"table","aria-label":u("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[r.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[r.jsx("span",{role:"columnheader",children:u("common.col.problem","\uBB38\uC81C")}),b&&r.jsx("span",{role:"columnheader",children:u("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),r.jsx("span",{className:"col-right",role:"columnheader",children:u("training.result.colJudge","\uD310\uC815")})]}),C.map((x,_)=>r.jsxs("div",{className:"result-table__row",role:"row",children:[r.jsxs("div",{className:"trp-row__problem",children:[r.jsx("span",{className:"trp-row__no caption-1",children:String(_+1).padStart(2,"0")}),r.jsx("div",{className:"trp-row__q body-2",children:x.problem})]}),b&&r.jsxs("div",{className:"trp-row__answers",children:[x.answer!==null&&r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:u("training.result.colAnswer","\uC815\uB2F5")}),r.jsx("span",{className:"trp-row__answer-value body-2",children:x.answer})]}),r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${x.isCorrect?"is-correct":"is-wrong"}`,children:u("training.result.colSelected","\uC120\uD0DD")}),r.jsx("span",{className:`trp-row__answer-value body-2 ${x.isCorrect?"is-correct":"is-wrong"}`,children:x.selectedText??"\u2014"})]})]}),r.jsx("div",{className:"trp-row__judge",children:r.jsx(gt,{variant:x.variant,label:x.label,fill:"soft",minWidth:80})})]},_))]})})]})})}function bA(e){l.useEffect(()=>{if(!e)return;const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,o=null,n=0,i=0;const s=()=>{const h=Date.now();a==null&&(a=h),o==null&&(o=h)},c=()=>{o!=null&&(n+=Date.now()-o,o=null)};t()&&s();const d=()=>{if(c(),a==null||n-i<=0||i===0&&n<5e3)return;const h=a+i;i=n,Nl({trainingType:e,startedAt:new Date(h).toISOString(),endedAt:new Date(a+n).toISOString()})},u=()=>{t()?s():d()};return typeof document<"u"&&document.addEventListener("visibilitychange",u),typeof window<"u"&&window.addEventListener("pagehide",d),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",u),typeof window<"u"&&window.removeEventListener("pagehide",d),d()}},[e])}function Au(e,t){return e&&e.id||`page-${t??0}`}function Bu(e,t){return e&&e.key||`step-${t??0}`}function Xi(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function gA(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const fA=300,vA=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},vo=Object.freeze({}),Sf=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function Nf(e){const t=e,a=t?.results||t?.answers||[],o=Array.isArray(a)&&a.length>0?a.length:null,n=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:o!=null?n:null,total:o}}const xA=e=>r.jsx(ku,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function yA(e){const{scenario:t,title:a,subTitle:o,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:h,stepCount:p,onBack:m,onComplete:f,onNext:g,onSettings:v,useNoiseSetting:C=!0,children:b,ariaLabel:x,label:_,buildResults:y,onResult:A,typeKey:w,entryPoint:N,dailyTotal:k,itemRef:B,renderResultPopup:S,noiseOverride:T}=e;bA(w&&!Sf.has(w)?w:"");const R=l.useRef(0);l.useEffect(()=>{R.current=Date.now()},[]);const{t:M}=be.useTranslation(),I=A,E=!!t,V=t?.id||null,X=t?.meta||{},G=Array.isArray(t?.pages)?t.pages:[],q=Array.isArray(b)||l.isValidElement(b)&&typeof b!="function"?l.Children.toArray(b).filter(l.isValidElement):[],$=q.length>0,z=re=>re===wn||re?.__isTrainingPage===!0,K=$&&q.some(re=>z(re.type)),O=K?q.filter(re=>z(re.type)).map((re,ve)=>{const U=re.props||{};return{id:`children-page-${ve}`,steps:l.Children.toArray(U.children).filter(l.isValidElement),pageTop:U.pageTop||U.top||null,pageBottom:U.pageBottom||U.bottom||null}}):[{id:"children-page-0",steps:q}],D=$&&!E&&typeof b!="function",H=D?Math.max(1,O.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 re=document.body;return re.dataset.ihabTrainingPopupCount=String(Number(re.dataset.ihabTrainingPopupCount||"0")+1),re.classList.add("ihab-training-popup-open"),()=>{const ve=Number(re.dataset.ihabTrainingPopupCount||"1")-1;ve>0?re.dataset.ihabTrainingPopupCount=String(ve):(delete re.dataset.ihabTrainingPopupCount,re.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return Ak()},[]);const[F,j]=l.useState({...yr,enabled:!1}),P=l.useRef(F);l.useEffect(()=>{P.current=F},[F]);const oe=l.useRef(T),ae=l.useRef(!1),se=l.useRef(null);l.useEffect(()=>{let re=!1;const ve=U=>{if(re)return;ae.current=!0;const le=U?xr({...yr,enabled:!1},U):{...yr},pe=se.current;se.current=null;const _e=pe?xr(le,pe):le;P.current=_e,j(_e),pe&&!oe.current&&Wn(_e),er(_e);const we=oe.current;if(we){const Me=typeof we=="function"?we(_e):we,st=xr(_e,Me);P.current=st,j(st),er(st)}};return jl().then(ve),()=>{re=!0}},[]);const[ye,ge]=l.useState(null),[De,ce]=l.useState(null),Y=l.useCallback((re,ve)=>{re==="main"?ge(ve):ce(ve)},[]),de=l.useRef(null),fe=l.useRef(null),Ae=l.useCallback(()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null);const re=de.current;de.current=null,re&&Wn(re)},[]);l.useEffect(()=>{if(typeof window>"u")return;const re=()=>{document.visibilityState==="hidden"&&Ae()};return window.addEventListener("pagehide",Ae),document.addEventListener("visibilitychange",re),()=>{window.removeEventListener("pagehide",Ae),document.removeEventListener("visibilitychange",re),Ae()}},[Ae]);const Be=l.useCallback(re=>{const ve=xr(P.current,re);if(P.current=ve,j(ve),!ae.current){se.current={...se.current??{},...re},er(ve);return}oe.current||(de.current=ve,fe.current!==null&&clearTimeout(fe.current),fe.current=setTimeout(Ae,fA)),er(ve)},[Ae]),Te=F.mainSpeed,ke=F.mainVolume,Se=l.useCallback(re=>Be({mainSpeed:re}),[Be]),Z=l.useCallback(re=>Be({mainVolume:re}),[Be]),J=l.useMemo(()=>({settings:F,setSettings:Be,registerAnalyser:Y,mainAnalyser:ye,noiseAnalyser:De,playbackRate:Te,setPlaybackRate:Se,mainVolume:ke,setMainVolume:Z}),[F,Be,Y,ye,De,Te,Se,ke,Z]),W=l.useRef(null),[ie,ee]=l.useState(0),me=l.useRef([]),[xe,qe]=l.useState("center"),[Ve,He]=l.useState(!1),je=l.useRef(!1),Ge=l.useRef(null),$e=l.useCallback(re=>{je.current||(je.current=!0,He(!0),Ge.current=setTimeout(()=>{try{re()}catch{je.current=!1,He(!1)}},vA()?0:Q9))},[]);l.useEffect(()=>()=>{Ge.current&&clearTimeout(Ge.current)},[]);const Ie=l.useRef(m);l.useEffect(()=>{Ie.current=m}),l.useEffect(()=>{const re=W.current,ve=document.activeElement;if(tc(re,ve),re){const U=Array.from(re.querySelectorAll(Ga)).filter(le=>!le.closest('[aria-hidden="true"]'))[0];if(U)try{U.focus()}catch{}}return()=>{const U=document.activeElement;if(!U||U===document.body||re&&re.contains(U))try{ac(ve)?.focus?.()}catch{}}},[]),l.useEffect(()=>Do(()=>$e(()=>{const re=Ie.current;typeof re=="function"&&re()})),[$e]),Ql(W,!0);const[We,at]=l.useState(!1),lt=l.useRef(!1),[Ze,et]=l.useState(null),kt=l.useRef(0),$t=()=>{kt.current+=1,et(null)},[Ht,ft]=l.useState(""),[ot,Qe]=l.useState(()=>Xi()),Ue=l.useRef(typeof d=="number"?d:null);l.useEffect(()=>{!E&&!D||(Qe(Xi()),$t())},[E,V,D]),l.useEffect(()=>{D&&Qe(re=>{const ve=Math.max(0,Math.min(re.pageIndex,Math.max(0,H-1)));return ve!==re.pageIndex?{...re,pageIndex:ve,stepIndex:0}:re})},[D,H]);const ct=D?Math.max(0,Math.min(ot.pageIndex,H-1)):0,nt=D?O[ct]:null,St=D&&nt&&Array.isArray(nt.steps)?nt.steps:[],Ye=E?ot.pageIndex:D?ct:typeof d=="number"?d:0,ht=E?G[Math.max(0,Math.min(ot.pageIndex,Math.max(0,G.length-1)))]:null,Rt=E&&ht&&Array.isArray(ht.steps)?ht.steps:[],Pt=E?Rt.length:D?St.length:typeof p=="number"?p:0,Re=E||D?Math.max(0,Math.min(ot.stepIndex,Math.max(0,Pt))):typeof h=="number"?h:0,Xe=E?G.length:D?H:typeof u=="number"?u:0;l.useLayoutEffect(()=>{const re=Ue.current;if(typeof Ye=="number"&&re!==null&&Ye!==re&&Ye>re)try{ft(M("training.problemNotice",{n:Ye+1}))}catch{}Ue.current=typeof Ye=="number"?Ye:Ue.current},[Ye,d,M]),l.useLayoutEffect(()=>{const re=W.current;if(!re)return;const ve=()=>re.querySelector(".page-popup__scroll");let U=null,le=null,pe=null;const _e=mt=>{const Tt=ve();if(!Tt)return;const ea=Tt.scrollHeight<=Tt.clientHeight;if(qe(ea?"center":"top"),mt&&!lt.current){lt.current=!0;try{at(!0)}catch{}try{st.disconnect()}catch{}}},we=()=>{U!==null&&cancelAnimationFrame(U),U=requestAnimationFrame(()=>{le!==null&&clearTimeout(le),le=setTimeout(()=>_e(!0),60)})},Me=()=>{pe!==null&&cancelAnimationFrame(pe),pe=requestAnimationFrame(()=>_e(!1))};we(),window.addEventListener("resize",Me);const st=new MutationObserver(we);st.observe(re,{childList:!0,subtree:!0,attributes:!0});const Ct=setTimeout(()=>{lt.current||_e(!0)},400);return()=>{window.removeEventListener("resize",Me),U!==null&&cancelAnimationFrame(U),le!==null&&clearTimeout(le),pe!==null&&cancelAnimationFrame(pe),clearTimeout(Ct);try{st.disconnect()}catch{}}},[W]);const zt=l.useCallback(re=>{W.current&&(W.current._childOnNext=re)},[]),Et=l.useCallback(re=>{W.current&&(W.current._childOnResult=re)},[]),Wt=l.useCallback((re,ve,U)=>{Qe(le=>{const pe=le.answersByPage[re]||{},_e=pe[ve],we=Zi(U),Me=Zi(_e);return _e&&Me>we?le:{...le,answersByPage:{...le.answersByPage,[re]:{...pe,[ve]:U}}}})},[Qe]),Ma=l.useCallback((re,ve,U)=>{const le=Au(ht,Ye),pe=Bu(re,ve);Wt(le,pe,U)},[ht,Ye,Wt]),it=l.useCallback((re,ve,U)=>{const le=Au(ht,Ye),pe=Bu(re,ve);Wt(le,pe,U),!U?.allowChange&&re?.autoAdvance!==!1&&Qe(_e=>({..._e,stepIndex:Math.max(_e.stepIndex,ve+1)}))},[ht,Ye,Wt,Qe]),ia=l.useCallback((re,ve)=>{const U=nt?.id||`children-page-${Ye??0}`,le=typeof ve=="number"?ve:Re??0,pe=`step-${le}`;Wt(U,pe,re),re?.allowChange||Qe(_e=>({..._e,stepIndex:Math.max(_e.stepIndex,le+1)}))},[nt,Ye,Re,Wt,Qe]),Ja=l.useCallback((re,ve)=>{const U=nt?.id||`children-page-${Ye??0}`,le=`step-${typeof ve=="number"?ve:Re??0}`;Wt(U,le,re)},[nt,Ye,Re,Wt]),Dt=D?{currentPageIndex:Ye??0,currentStepIndex:Re??0,totalStepsInPage:St.length,handleStepDone:ia,handleStepChange:Ja}:null,Qt=async()=>{const re=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:G,flowState:ot,answersByPage:ot.answersByPage})):null;return typeof I=="function"&&await Promise.resolve(I(re))||re},ha=async()=>{const re=nt?.id||`children-page-${ot.pageIndex}`,ve=ot.answersByPage[re]||{},U=K?(()=>{const _e={};let we=0;return O.forEach(Me=>{const st=ot.answersByPage[Me.id]||{},Ct=Array.isArray(Me.steps)?Me.steps.length:0;for(let mt=0;mt<Ct;mt+=1){const Tt=st[`step-${mt}`];typeof Tt<"u"&&(_e[`step-${we+mt}`]=Tt)}we+=Ct}),_e})():ve;if(typeof y=="function"){const _e=await Promise.resolve(y(U,{pageAnswers:ve,answersByPage:ot.answersByPage,pages:O,currentPageId:re}));return typeof I=="function"&&await Promise.resolve(I(_e))||_e}const le=Object.entries(ve).map(([_e,we],Me)=>({index:Me,key:_e,payload:we})),pe={results:le,answers:le,score:0};return typeof I=="function"&&await Promise.resolve(I(pe))||pe},wa=()=>{const re=++kt.current,ve=()=>re!==kt.current;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(E){const pe=Qt();et(vo);const _e=pe;Promise.resolve(_e).then(we=>{ve()||et(we||{isEmpty:!0})}).catch(we=>{!ve()&&et({isEmpty:!0})});return}if(D){const pe=ha();et(vo);const _e=pe;Promise.resolve(_e).then(we=>{ve()||et(we||{isEmpty:!0})}).catch(we=>{!ve()&&et({isEmpty:!0})});return}const U=W.current&&W.current._childOnResult,le=pe=>{try{return pe?pe():void 0}catch{return}};if(typeof U=="function"){const pe=le(U);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:da&&da.tagName.toUpperCase()==="SCRIPT"&&da.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}pe&&typeof pe.then!="function"?et(pe):et(pe&&typeof pe.then=="function"?vo:{});const _e=()=>{ve()||et(we=>we===vo?{}:we)};Promise.resolve(pe).then(we=>{we&&!ve()?et(we):_e()}).catch(we=>{_e()});return}if(typeof I=="function"){const pe=le(I);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:da&&da.tagName.toUpperCase()==="SCRIPT"&&da.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}pe&&typeof pe.then!="function"?et(pe):et(pe&&typeof pe.then=="function"?vo:{});const _e=()=>{ve()||et(we=>we===vo?{}:we)};Promise.resolve(pe).then(we=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:da&&da.tagName.toUpperCase()==="SCRIPT"&&da.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}we&&!ve()?et(we):_e()}).catch(we=>{console.error("viewResults external handler failed",we),_e()});return}},$a=()=>{if(E){if(typeof Ye=="number"&&typeof Xe=="number"&&Ye<Xe-1){Qe(ve=>({...ve,pageIndex:ve.pageIndex+1,stepIndex:0}));return}return wa()}if(D){const ve=St.length;if(typeof Re=="number"&&Re<ve-1){Qe(U=>({...U,stepIndex:U.stepIndex+1}));return}if(typeof Ye=="number"&&typeof Xe=="number"&&Ye<Xe-1){Qe(U=>({...U,pageIndex:U.pageIndex+1,stepIndex:0}));return}return wa()}if(typeof g=="function"){try{g()}catch{}return}const re=W.current&&W.current._childOnNext;if(typeof re=="function"){try{re()}catch{}return}},ma=E?X.title||X.label||x||M("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(n)?n[n.length-1]:void 0)||x||M("common.popup","\uD31D\uC5C5"),Qa=x||ma,sa=E?X.title??X.label??ma:a??_??ma,yt=(re,ve)=>{const U=Au(ht,Ye),le=Bu(re,ve),pe=ot.answersByPage[U]?.[le],_e=gA(re,{page:ht,pageIndex:Ye,step:re,stepIndex:ve,storedPayload:pe,answersByPage:ot.answersByPage,flowState:ot}),we={key:le,index:ve,stepIndex:Re,isLast:ve===Rt.length-1};switch(re?.type){case"listen":return r.jsx(Yi,{...we,..._e,onDone:Me=>it(re,ve,Me)});case"confirm":return r.jsx(Ui,{...we,..._e,onDone:Me=>it(re,ve,Me),onChange:Me=>Ma(re,ve,Me)});case"confirmWithText":return r.jsx(qi,{...we,..._e,onDone:Me=>it(re,ve,Me),onChange:Me=>Ma(re,ve,Me)});case"orderList":return r.jsx(Ki,{...we,..._e,onDone:Me=>it(re,ve,Me),onChange:Me=>Ma(re,ve,Me)});default:return null}},Ra=l.useRef(void 0);l.useEffect(()=>{const re=Ra.current;if(Ra.current=Ye,re===void 0||re===Ye||!ji())return;const ve=W.current;if(!ve)return;const U=document.activeElement;if(!(!U||U===document.body||!ve.contains(U)||U.disabled===!0))return;const le=ve.querySelector(`.training-steps ${Ga.split(", ").join(", .training-steps ")}`)??Array.from(ve.querySelectorAll(Ga)).find(pe=>!pe.closest('[aria-hidden="true"]'));try{le?.focus()}catch{}},[Ye]);const la=E?G.length>0?r.jsx("div",{className:"training-steps",children:Rt.map((re,ve)=>yt(re,ve))},`replay-${ie}`):r.jsx("div",{className:"page-popup__content page-popup__content--center",children:r.jsx("div",{className:"pp-empty",children:t?.emptyMessage||M("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Gt=D?r.jsxs(Af.Provider,{value:Dt,children:[nt?.pageTop?r.jsx("div",{className:"training-page-top",children:nt.pageTop}):null,r.jsx("div",{className:"training-steps",children:St.map((re,ve)=>{const U=re;return l.cloneElement(U,{...U.props,_stepIndex:ve,_totalSteps:St.length,_stepKey:`step-${ve}`,_pageIndex:Ye})})},`replay-${ie}`),nt?.pageBottom?r.jsx("div",{className:"training-page-bottom",children:nt.pageBottom}):null]}):null,Pa=l.useCallback(()=>{let re;if(w){const ve=Ze,{results:U,correct:le,total:pe}=Nf(Ze);El({items:Tl(U),category:Sf.has(w)?"sentence":"word",trainingType:w,entryPoint:N??"sentence",itemRef:B??null,correct:le,total:pe,score:typeof ve?.score=="number"?ve.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:k??null}),re={correct:le,total:pe,attempt:me.current.length+1,previousAttempts:[...me.current]}}$t(),$e(()=>{typeof f=="function"&&f(re),typeof m=="function"&&m()})},[f,m,w,N,k,B,Ze,et,$e]),ca=l.useCallback(()=>ft(""),[ft]),za=l.useCallback(()=>{$e(()=>{typeof m=="function"&&m()})},[m,$e]),Ne=r.jsxs("div",{className:`page-popup${Ve?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Qa,children:[r.jsxs("div",{ref:W,className:`page-popup__panel ${We?"":"page-popup__panel--measuring"} ${xe==="center"?"page-popup__panel--center":xe==="top"?"page-popup__panel--top":""}`,children:[r.jsx(bu,{title:sa,subtitle:E?X.subtitle||X.label:Array.isArray(n)?n.join(" / "):void 0,desc:E?void 0:o,depth:E?X.depth:n,icon:E?X.icon:i,wrapperStyle:E?X.wrapperStyle:s,iconTooltip:E?X.iconTooltip:c,progressMax:Xe,progressIndex:Ye,pageIndex:Ye,pageCount:Xe,onBack:za,onClose:za}),r.jsx("div",{className:"page-popup__scroll",children:r.jsx("div",{className:`page-popup__content ${xe==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:D?Gt:E?la:typeof b=="function"?b({registerOnNext:zt,registerOnResult:Et,panelRef:W,setResultOverlay:et}):b})}),r.jsx(mu,{onSettings:v,onNext:$a,onResult:wa,useNoiseSettingBtn:!!(E?X.useNoiseSetting??!0:C),stepIndex:Re,stepCount:Pt,pageIndex:Ye,pageCount:Xe})]}),Ze&&!Ze.isEmpty&&(S??xA)({score:Ze.score,results:Ze.results||Ze.answers||[],contextsLength:Ze.results?Ze.results.length:Ze.answers?Ze.answers.length:0,onReplay:()=>{if(R.current=Date.now(),Ze!==vo){const{correct:re,total:ve}=Nf(Ze);me.current.push({correct:re,total:ve})}if($t(),ee(re=>re+1),E){if(Qe(Xi()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(D){Qe(Xi());return}try{const re=W.current&&W.current._childOnResult;typeof re=="function"&&re({replay:!0})}catch{}},onClose:Pa,pending:Ze===vo}),Ze?.isEmpty&&r.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:r.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[r.jsx("div",{className:"page-popup__scroll",children:r.jsx("div",{className:"page-popup__content page-popup__content--center",children:r.jsx("div",{className:"page-popup__empty",children:M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),r.jsx("div",{className:"page-popup__bottom",children:r.jsx(ue,{htmlType:"button",variant:"main",size:48,onClick:Pa,label:M("training.result.done","\uC644\uB8CC")})})]})}),r.jsx(Mo,{message:Ht,position:"top",onClose:ca})]}),ze=r.jsx(Hi.Provider,{value:J,children:Ne});return typeof document<"u"&&document.body?ta.createPortal(ze,document.body):ze}const Xa=yA;Xa.Page=wn,Xa.ListenStep=vu,Xa.ConfirmStep=xu,Xa.ConfirmWithTextStep=yu,Xa.OrderListStep=Cu,Xa.CardStep=_u,Xa.CardOrderStep=pA;var CA=".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)}";ne(CA);var _A='.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}';ne(_A);function wA({label:e,homonum:t}){const a=ao()?.(e,t)??"",{imgRef:o,loading:n,hasImage:i,onLoad:s,onError:c}=Fd(a);return i?r.jsxs("div",{className:"tooltip-word-image__cell",children:[n&&r.jsx("div",{className:"tooltip-word-image__spinner"}),r.jsx("img",{ref:o,src:a,alt:e,draggable:!1,style:{opacity:n?0:1},onLoad:s,onError:c})]}):r.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:r.jsx("span",{children:e})})}function Su({words:e,anchorRect:t}){const a=l.useRef(null),[o,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:ta.createPortal(r.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:o?"visible":"hidden",left:o?.left??0,top:o?.top??-9999},children:r.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>r.jsx(wA,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const kA=new Intl.Collator("ko");function Ef({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:o,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:h,onPrintEmpty:p,className:m,emptyHint:f,sectionType:g="page",disc:v,notice:C}){const{t:b,i18n:x}=be.useTranslation(),_=x.language?.startsWith("ko")??!1,{anchorRect:y,openAt:A,close:w}=ur(),[N,k]=l.useState(null),B=l.useCallback(()=>{w(),k(null)},[w]);ld(B,!!N);const S=(o??"").trim(),T=/^[^,[\]\s]+$/.test(S)?S:"",R=T.length>0,M=o===void 0&&t===void 0,I=R?"match":M?"original":"ganada",[E,V]=l.useState(()=>I),[X,G]=l.useState("50"),[q,$]=l.useState(1),[z,K]=l.useState(R);z!==R&&(K(R),V(I));const O=E==="match"&&!R||E==="original"&&!M?I:E,D=l.useMemo(()=>[...R?[{value:"match",label:b("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...M?[{value:"original",label:b("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:b("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:b("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:b("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:b("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:b("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:b("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[b,R,M]),H=l.useMemo(()=>["10","25","50","100"].map(ke=>({value:ke,label:b("wordSearch.pageSize",{count:Number(ke),defaultValue:`${ke}\uAC1C\uC529 \uBCF4\uAE30`})})),[b]),F=ke=>ke.words?.[0],j=l.useMemo(()=>{const ke=[...T].length,Se=zs(T),Z=new Map;return J=>{let W=Z.get(J);return W===void 0&&(W=Se((J.words?.[0]?.label??"").slice(0,ke))?0:1,Z.set(J,W)),W}},[T]),P=l.useCallback((ke,Se)=>{const Z=ie=>F(ie)?.label??"",J=ie=>F(ie)?.syllables??[...Z(ie)].length,W=ie=>(ie.words??[]).reduce((ee,me)=>{const xe=parseInt(me.grade??"",10);return Number.isFinite(xe)&&xe<ee?xe:ee},999);switch(O){case"match":return j(ke)-j(Se)||kA.compare(Z(ke),Z(Se));case"ganada":return Z(ke).localeCompare(Z(Se),"ko");case"ganada_desc":return Z(Se).localeCompare(Z(ke),"ko");case"syllable":return J(ke)-J(Se)||Z(ke).localeCompare(Z(Se),"ko");case"syllable_desc":return J(Se)-J(ke)||Z(ke).localeCompare(Z(Se),"ko");case"grade":return W(ke)-W(Se)||Z(ke).localeCompare(Z(Se),"ko");case"grade_desc":return W(Se)-W(ke)||Z(ke).localeCompare(Z(Se),"ko");default:return 0}},[O,j]),oe=l.useMemo(()=>n.slice().sort(P),[n,P]),ae=Number(X)||10,se=l.useMemo(()=>(i??[]).flatMap(ke=>ke.items.slice().sort(P).map(Se=>({item:Se,label:ke.label}))),[i,P]),ye=i?se.length:oe.length,ge=Math.max(1,Math.ceil(ye/ae)),De=Math.min(q,ge),ce=l.useMemo(()=>oe.slice((De-1)*ae,De*ae),[oe,De,ae]),Y=l.useMemo(()=>{if(!i)return null;const ke=se.slice((De-1)*ae,De*ae),Se=new Map;for(const{item:Z,label:J}of ke)Se.has(J)||Se.set(J,[]),Se.get(J).push(Z);return[...Se.entries()].map(([Z,J])=>({label:Z,items:J}))},[i,se,De,ae]);l.useEffect(()=>{$(1)},[E,X,ye,o]);const de=ye>0?r.jsxs("div",{className:"word-search-result-block__toolbar",children:[r.jsx(pa,{size:40,options:D,value:O,onChange:V,ariaLabel:b("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),r.jsx(pa,{size:40,options:H,value:X,onChange:G,ariaLabel:b("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),r.jsx(fn,{page:De,totalPages:ge,onChange:$})]}):void 0,fe=ke=>{c&&c(ke)},Ae=t!==void 0&&a?r.jsxs(r.Fragment,{children:[b("wordSearch.resultTitlePrefix","\uCD1D "),r.jsx("span",{style:{color:"var(--color-main)"},children:t}),b("wordSearch.resultTitleSuffix",{unit:_?il(a):a})]}):void 0,Be=t!==void 0&&t>0&&d!==void 0&&a?b("wordSearch.resultDisc",{unit:_?ll(a):a,max:d,selected:s.length}):void 0,Te=v??(C?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"word-search-result-block__notice",children:C}),Be?r.jsx("span",{className:"word-search-result-block__disc",children:Be}):null]}):Be);return r.jsxs($o,{type:g,icon:e,title:Ae,action:de,disc:Te,className:Ee("word-search-result-block",m),children:[r.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&r.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[r.jsx("p",{className:"word-search-result-block__empty body-3",children:b("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),f&&r.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:f})]}),i?(Y??[]).map(ke=>r.jsx("div",{className:"word-search-result-block__group",children:r.jsx("div",{className:"word-search-result-block__items",children:ke.items.map(Se=>{const Z=s.includes(Se.id);return r.jsx("div",{onMouseEnter:J=>{A(J.currentTarget),k(Se.words??[])},onMouseLeave:B,children:r.jsx(ue,{htmlType:"button",size:"word",align:"grid",label:(Se.words??[]).map(J=>J.label),subLabel:(Se.words??[]).some(J=>J.subLabel)?(Se.words??[]).map(J=>J.subLabel):void 0,selected:Z,onClick:()=>fe(Se.id),minWidth:200})},Se.id)})})},ke.label)):r.jsx("div",{className:"word-search-result-block__items",children:ce.map(ke=>{const Se=s.includes(ke.id);return r.jsx("div",{onMouseEnter:Z=>{A(Z.currentTarget),k(ke.words??[])},onMouseLeave:B,children:r.jsx(ue,{htmlType:"button",size:"word",align:"grid",label:(ke.words??[]).map(Z=>Z.label),subLabel:(ke.words??[]).some(Z=>Z.subLabel)?(ke.words??[]).map(Z=>Z.subLabel):void 0,selected:Se,onClick:()=>fe(ke.id),minWidth:200})},ke.id)})}),N&&y&&r.jsx(Su,{words:N,anchorRect:y})]}),ge>1&&r.jsx("div",{className:"word-search-result-block__pagination-bottom",children:r.jsx(fn,{page:De,totalPages:ge,onChange:$})}),(u||h)&&r.jsxs("div",{className:"word-search-result-block__actions",children:[u&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:b("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:u}),h&&r.jsx("div",{onClick:s.length===0?p:void 0,children:r.jsx(ue,{htmlType:"button",size:"56",type:"bar",variant:"main",label:b("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:h})})]})]})}var AA='.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}}';ne(AA);function BA(e,t){return t.map(a=>{const o=typeof a=="string"?a:a.label,n=typeof a=="string"?void 0:a.displayLabel;return{label:o,value:e[o]??"",displayLabel:n}})}function Df({sections:e,selectedList:t,count:a,onCountChange:o,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:h,title:p,titleIcon:m,disc:f,showInfoButton:g=!0,onClearPhoneme:v,onSearch:C,onSearchEmpty:b,searchDisabled:x=!1,searchLabel:_,searchChecking:y=!1,pairMode:A=!1,sectionType:w="page",beforeSearchContent:N,beforeContent:k,afterContent:B,hideCountControl:S=!1,ordinal:T=!1}){const{t:R}=be.useTranslation(),M=l.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),I=l.useMemo(()=>Array.from({length:n-i+1},(F,j)=>{const P=i+j;return{key:String(P),label:R("wordPairs.count",{n:P})}}),[R,n,i]),E=l.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),V=l.useCallback(F=>T?R("wordPairs.phonemeOrdinalLabel",{ordinal:E[F-1]??F}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:F}),[T,E,a,R]),X=l.useCallback(F=>T?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:E[F-1]??F}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:F}),[T,E,a,R]),G=l.useCallback((F,j)=>j?r.jsxs(r.Fragment,{children:[F,r.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):F,[]),{anchorRect:q,toggleAt:$,close:z}=ur(),K=l.useCallback(F=>o(Number(F)),[o]),O=na("(max-width: 767px)"),D=l.useCallback(F=>BA(F,e).map(({label:j,value:P,displayLabel:oe})=>{const ae=!!P&&P!=="\uC5C6\uC74C";return r.jsxs("span",{className:Ee("phoneme-select-block__cell-jamo-part",P?"":"phoneme-select-block__cell-jamo-part--empty",ae?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[r.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${P==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:P==="\uC5C6\uC74C"?"x":P||u}),ae&&r.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:oe??j})]},j)}),[e,u]),H=r.jsxs(r.Fragment,{children:[r.jsx("div",{"data-tooltip-ignore":!0,children:r.jsx(ue,{htmlType:"button",size:40,type:O?"dot":void 0,icon:"info",label:O?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:q?"is-selected":void 0,"aria-expanded":!!q,"aria-haspopup":"dialog",onClick:F=>$(F.currentTarget)})}),q&&r.jsx(po,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:M,anchorRect:q,onClose:z})]});return r.jsxs($o,{type:w,title:p,icon:m,disc:f,action:g?H:void 0,className:Ee("phoneme-select-block",h),children:[k,!S&&r.jsx("div",{className:"phoneme-select-block__controls",children:r.jsx(bo,{options:I,value:String(a),onChange:K,size:40,className:"phoneme-select-block__count-control"})}),r.jsx("div",{className:"phoneme-select-block__cells",children:A?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2]??{};return r.jsxs("div",{className:"phoneme-select-block__cell",children:[r.jsx("div",{className:"phoneme-select-block__cell-circle",children:r.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(P)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:V(j+1)})]},j)})}),r.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),r.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2+1]??{};return r.jsxs("div",{className:"phoneme-select-block__cell",children:[r.jsx("div",{className:"phoneme-select-block__cell-circle",children:r.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(P)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:X(j+1)})]},j)})})]}):t.map((F,j)=>r.jsxs("div",{className:"phoneme-select-block__cell",children:[r.jsx("div",{className:"phoneme-select-block__cell-circle",children:r.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(F)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:V(j+1)})]},j))}),(s||c)&&r.jsx("div",{className:"phoneme-select-block__panels",children:r.jsx("div",{className:"phoneme-select-block__detail",children:A?r.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[r.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2]??{};return r.jsx(La,{title:G(V(j+1),j===0),sections:c?c(P,j*2):s,selected:P,onSelect:d?.(j*2),align:"newline"},j)})}),r.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2+1]??{};return r.jsx(La,{title:X(j+1),sections:c?c(P,j*2+1):s,selected:P,onSelect:d?.(j*2+1),align:"newline"},j)})})]}):t.map((F,j)=>r.jsx(La,{title:G(V(j+1),j===0),sections:c?c(F,j):s,selected:F,onSelect:d?.(j),align:"newline"},j))})}),N&&r.jsx("div",{className:"phoneme-select-block__before-search",children:N}),(v||C||y)&&(()=>{const F=t.every(j=>Object.entries(j).every(([P,oe])=>!oe||P==="\uC885\uC131"&&oe==="\uC5C6\uC74C"));return r.jsxs("div",{className:"phoneme-select-block__search-row",onClick:F?b:void 0,children:[v&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:F,onClick:F?void 0:v}),C?r.jsx(ue,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:y?r.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:F||x||y,onDisabledClick:y?()=>{}:void 0,"aria-busy":y||void 0,onClick:C}):y?r.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[r.jsx("div",{className:"phoneme-select-block__spinner"}),r.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),B]})}function Tf({title:e,sections:t,selected:a,onSelect:o,className:n}){const{t:i}=be.useTranslation();return r.jsx(La,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:o,align:"inline"})}function jf({title:e,headerAction:t,sections:a,selected:o,onSelect:n,className:i}){const{t:s}=be.useTranslation();return a.length===0?null:r.jsx(La,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:o,onSelect:n,align:"newline"})}function Lf({title:e,mode:t,onModeChange:a,matchMode:o,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:d,className:u}){const{t:h}=be.useTranslation(),p={searchMode:h("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:h("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:h("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:h("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:h("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:h("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:h("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:h("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:h("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:h("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:h("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},m=C=>h("wordPairs.count",{n:C}),f=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:r.jsx(hr,{title:h("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[h("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."),h("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."),h("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:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:r.jsx(hr,{items:h("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[m(1),m(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:r.jsx(hr,{title:h("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[h("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."),h("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.")]})}],g={[p.searchMode]:t==="explicit"?p.explicit:t==="pick"?p.pick:p.include,[p.phonemeOrder]:o==="ordered"?p.orderMatch:p.orderAny,[p.count]:m(i),[p.inputMode]:c==="phoneme"?p.pronInput:p.charInput},v=(C,b)=>{b===p.searchMode?a(C===p.explicit?"explicit":C===p.pick?"pick":"include"):b===p.phonemeOrder?n(C===p.orderMatch?"ordered":"unordered"):b===p.count?s(C===m(2)?2:1):b===p.inputMode&&d(C===p.pronInput?"phoneme":"word")};return r.jsx(La,{className:u,title:e??h("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:f,selected:g,onSelect:v,align:"inline"})}var SA=".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}";ne(SA);function Mf(e){const{title:t,items:a,columns:o,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:h,onSelect:p,onClose:m,pageSizeOptions:f=[10,25,50,100],initialPageSize:g,emptyText:v,countLabel:C,topContent:b,className:x=""}=e,{t:_}=be.useTranslation(),y=i??_("common.search","\uAC80\uC0C9"),A=v??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,N]=l.useState(""),[k,B]=l.useState(c??o[0]?.key??""),[S,T]=l.useState(d),[R,M]=l.useState(String(g??f[0]??10)),[I,E]=l.useState(1);l.useEffect(()=>{E(1)},[w,R]);const V=s!==null,X=l.useCallback((j,P)=>{if(!P)return!0;const oe=P.toLowerCase();return o.some(ae=>{const se=j[ae.key];return se==null?!1:String(se).toLowerCase().includes(oe)})},[o]),G=s??X,q=l.useMemo(()=>{const j=V?a.filter(P=>G(P,w)):a;return k?[...j].sort((P,oe)=>{const ae=P[k],se=oe[k];return ae===se?0:Fc(ae,se,S)}):j},[a,w,k,S,V,G]),$=Math.max(1,Math.ceil(q.length/Number(R)));I>$&&E($);const z=Math.min(I,$),K=q.slice((z-1)*Number(R),z*Number(R)),O=l.useCallback(j=>{k===j?T(P=>!P):(B(j),T(!0)),E(1)},[k]),D=l.useMemo(()=>{if(typeof C=="function"){const j=q.length,P=C(j);if(typeof P=="string"){const oe=P.lastIndexOf(String(j));if(oe>=0)return{prefix:P.slice(0,oe),suffix:P.slice(oe+String(j).length)}}return{label:P}}if(typeof C=="string"&&C.includes("{n}")){const[j,P]=C.split("{n}");return{prefix:j,suffix:P}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[C,q.length,_]),H=l.useMemo(()=>o.map(j=>({label:j.label,onClick:j.sortable!==!1?()=>O(j.key):void 0,className:j.className,sortDir:j.sortable!==!1&&k===j.key?S?"asc":"desc":null})),[o,k,S,O]),F=l.useMemo(()=>f.map(j=>({value:String(j),label:_("common.pageSizeLabel",{n:j})})),[f,_]);return r.jsxs(Ka,{className:`popup-list ${x}`,title:t,onClose:m,children:[b,"label"in D&&r.jsx("p",{className:"toolbar__count body-1",children:D.label}),r.jsx(_i,{count:"label"in D?void 0:{value:q.length,prefix:D.prefix,suffix:D.suffix},search:V?{value:w,onChange:N,placeholder:y}:void 0,pageSize:{options:F,value:R,onChange:M},pagination:{page:z,total:$,onChange:E}}),r.jsx(Ni,{size:"medium",gridTemplateColumns:n,resizable:!0,fields:H,items:K,onRowClick:p,renderRow:j=>{const P=h!=null?j.id!=null&&h.has(j.id):u!=null&&j.id===u;return o.map(oe=>({content:oe.render?oe.render(j):j[oe.key]??"",className:Ee(oe.className,P&&"popup-list__row--selected")}))},empty:A})]})}function $f(e){const{title:t,message:a,topContent:o,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:h="main",confirmDisabled:p=!1,onConfirm:m,closeOnConfirm:f=!0,onClose:g,inline:v,size:C="small",className:b,initialFocus:x="close"}=e,{t:_}=be.useTranslation(),y=l.useRef(null);l.useEffect(()=>{if(v||x==="close")return;const S=y.current?.closest(".popup-panel"),T=Array.from(S?.querySelectorAll(".popup-footer--buttons button")??[]),R=x==="confirm"?T[T.length-1]:d?void 0:T[u?1:0];R&&!R.disabled&&R.focus()},[]);const A=l.useRef(!1),[w,N]=l.useState(!1),k=S=>{let T=!1;return{close:()=>{T=!0,S()},\uB2EB\uC558\uB098:()=>T}},B=async S=>{if(A.current)return;A.current=!0;const T=typeof document<"u"?document.activeElement:null;N(!0);let R=!1;try{R=await S()}catch(M){typeof console<"u"&&console.error(M)}finally{R||(A.current=!1,N(!1),requestAnimationFrame(()=>{const M=document.activeElement;(!M||M===document.body)&&T?.isConnected&&T.focus()}))}};return r.jsxs(Ka,{title:t,onClose:g,closeDisabled:w,inline:v,size:C,className:Ee("confirm-popup",b),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||w,onClick:async({closeWithAnimation:S})=>{await B(async()=>{const T=k(S);await u.onClick(T.close);const R=u.closeOnClick??!0;return R&&S(),R||T.\uB2EB\uC558\uB098()})}}]:[],...d?[]:[{label:c??_("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:w,onClick:({closeWithAnimation:S})=>S()}],{label:s??_("common.confirm","\uD655\uC778"),variant:h,disabled:p||w,onClick:async({closeWithAnimation:S})=>{await B(async()=>{const T=k(S);return await m(T.close),f&&S(),f||T.\uB2EB\uC558\uB098()})}}],children:[o!=null&&r.jsx("div",{className:"confirm-popup__top",children:o}),n&&n.length>0&&r.jsx(_n,{children:n.map((S,T)=>r.jsx(Za,{label:S.label,children:r.jsx("span",{className:"panel-row__text body-2",children:S.value})},T))}),r.jsx("p",{ref:y,className:"body-2 confirm-popup__message",children:a}),i]})}var NA=".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}";ne(NA);function Rf({onApply:e,onCancel:t}){const{t:a}=be.useTranslation(),[o,n]=l.useState(""),[i,s]=l.useState(!1),[c,d]=l.useState(null),u=l.useRef(null);l.useEffect(()=>{u.current?.focus()},[]);const h=l.useCallback(async f=>{const g=o.trim();if(g){s(!0),d(null);try{await e(g),f()}catch(v){d(qr(v)),s(!1),requestAnimationFrame(()=>u.current?.focus())}}},[o,e]),p=l.useCallback((f,g)=>{f.key==="Enter"&&!f.nativeEvent.isComposing&&h(g)},[h]),m=f=>{n(f.target.value),d(null)};return r.jsx(Ka,{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:f})=>f()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!o.trim()||i,onClick:({closeWithAnimation:f})=>{h(f)}}],children:({closeWithAnimation:f})=>r.jsxs(r.Fragment,{children:[r.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:o,onChange:m,onKeyDown:g=>p(g,f),disabled:i,autoComplete:"off",spellCheck:!1}),c&&r.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var EA=".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}";ne(EA);const Pf=200;function DA(e){return e.itemId?(Wl()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function zf({plan:e,anchorRect:t,offset:a=12,onClose:o}){const{t:n}=be.useTranslation(),i=l.useMemo(()=>um(n).map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,n]);if(i.length===0)return null;const s=r.jsx("div",{className:"tooltip-training__box",children:r.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?r.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,r.jsxs("div",{className:"tooltip-training__section",children:[r.jsx("div",{className:"tooltip-training__section-header",children:r.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),r.jsx("div",{className:"tooltip-training__items",children:d.map((h,p)=>{const m=DA(h);return m?r.jsx(Ti,{index:p,type:c,trainingData:m,size:"compact",hideCheckBadge:!0},h.itemId??p):null})})]},c.key)])})});return t?r.jsx(Ua,{anchorRect:t,offset:a,onClose:o,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}var TA=".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}";ne(TA);const If=["var(--color-main)","var(--color-sub)"],jA=2e3;function LA(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Ji({active:e=!1,count:t=40,duration:a=2e3,strength:o=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const v=Math.floor(t/2),C=t-v,b=(x,_)=>Array.from({length:x}).map((y,A)=>{const w=6+Math.random()*12,N=Math.round(Math.min(18,w*Math.min(1.5,1+o*.4))),k=If[Math.floor(Math.random()*If.length)],B=Math.random()*300,S=(360+Math.random()*260)*o*1.2,T=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(T)*S,M=Math.sin(T)*S*1.35,I=Math.random()*720-360,E=(1200+Math.random()*3e3)*Math.min(1.6,1+o*.3),V=Math.random()>.7?"50%":"3px";return{id:`${_}-${A}`,side:_,size:N,color:k,delay:B,vx:R,vy:M,angularVel:I,life:E,borderRadius:V}});return[...b(v,"left"),...b(C,"right")]},[t,o]),c=l.useRef(null),d=l.useRef({}),u=l.useRef(null),h=l.useRef(n);l.useEffect(()=>{h.current=n},[n]);const p=l.useRef(null),m=l.useRef(null),f=()=>{if(typeof document>"u")return null;let v=document.querySelector("[data-ihab-effect-root]");return v||(v=document.createElement("div"),v.className="app-effect",v.dataset.ihabEffectRoot="",v.style.position="fixed",v.style.inset="0",v.style.pointerEvents="none",v.style.zIndex="99998",document.body.appendChild(v)),v};if(typeof document<"u"&&m.current==null&&(m.current=f()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const z=setTimeout(()=>h.current?.(),0);return()=>clearTimeout(z)}const v=1200,C=performance.now(),b=m.current&&m.current!==document.body?m.current.getBoundingClientRect():null,x=Math.max(60,(window.innerHeight||800)*.05),_=z=>Math.max(40,(z||window.innerWidth)*.02),y=b?.width||window.innerWidth||375,A=b?.height||window.innerHeight||812,w=z=>{const K=[...z].sort((O,D)=>O-D);return K[Math.floor(K.length/2)]||1},N=w(s.map(z=>Math.abs(z.vy))),k=w(s.map(z=>Math.abs(z.vx))),B=Math.sqrt(2*v*(A*.72+x))/N,S=N*B/v,T=y*.5/(k*S),R=(z,K,O)=>Math.min(O,Math.max(K,z)),M=R(B,.8,2.4),I=R(T,.7,2.2),E=a>0?a/jA:1,V=s.map(z=>({...z,life:z.life*E,vx:z.vx*I,vy:z.vy*M,startTime:C+z.delay,ended:!1})),X=b?{x:b.left-_(b.width),y:b.top+b.height+x}:{x:-_(window.innerWidth),y:window.innerHeight+x},G=b?{x:b.left+b.width+_(b.width),y:b.top+b.height+x}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+x},q=z=>{let K=!1;for(const O of V){const D=d.current[O.id];if(!D||!D)continue;if(z<O.startTime){D.style.display="none",K=!0;continue}if(!O._inited){const De=O.side==="left"?X.x:G.x,ce=O.side==="left"?X.y:G.y;D.style.left=`${De}px`,D.style.top=`${ce}px`,D.style.transform="translate3d(0px, 0px, 0)",D.style.display="block",D.style.zIndex="100000",typeof O.color=="string"&&O.color.startsWith("var(")&&(D.style.background=LA(D,O.color)??"#FF0060"),O._inited=!0}const H=(z-O.startTime)/1e3;if(H<0)continue;const F=O.life/1e3;if(H>=F){D.style.opacity="0",D.style.display="none",O.ended=!0;continue}K=!0;const j=O.side==="left"?X.x:G.x,P=O.side==="left"?X.y:G.y,oe=j+O.vx*H,ae=P+O.vy*H+.5*v*H*H,se=(O.angularVel||0)*H,ye=oe-j,ge=ae-P;D.style.transform=`translate3d(${ye}px, ${ge}px, 0) rotate(${se}deg)`,D.style.opacity=`${Math.max(0,1-H/F)}`}K?u.current=requestAnimationFrame(q):h.current?.()};u.current=requestAnimationFrame(q);const $=setTimeout(()=>{try{if((m.current?m.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const z=document.createElement("div");z.className="party-container",z.style.position="fixed",z.style.inset="0",z.style.pointerEvents="none",z.style.overflow="visible",z.style.zIndex="2147483647";for(const K of s){const O=document.createElement("span");O.className=`confetti confetti--${K.side}`,O.setAttribute("aria-hidden","true"),O.style.display="none",O.style.position="fixed",O.style.left="0px",O.style.top="0px",O.style.width=`${K.size}px`,O.style.height=`${Math.max(4,K.size*.6)}px`,O.style.background=K.color,O.style.borderRadius=K.borderRadius,O.style.transform="translate3d(0,0,0)",O.style.opacity="0",z.appendChild(O),d.current[K.id]=O}(document.body||m.current).appendChild(z),p.current=z}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout($),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,i,s]),!e)return null;const g=r.jsx("div",{className:"party-container",ref:c,children:s.map(v=>r.jsx("span",{"aria-hidden":!0,ref:C=>{d.current[v.id]=C},className:`confetti confetti--${v.side}`,style:{width:`${v.size}px`,height:`${Math.max(4,v.size*.6)}px`,background:v.color,borderRadius:v.borderRadius}},`${v.id}-${i}`))});return typeof document<"u"?ta.createPortal(g,m.current||document.body):g}const Nu=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function Of({trigger:e=0,active:t=!1}){const[a,o]=l.useState(null);l.useEffect(()=>{if(typeof window>"u")return;const i=s=>{const c=s.detail??{};o(d=>({n:(d?.n??0)+1,count:Nu(c.count),strength:Nu(c.strength),duration:Nu(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const n=l.useCallback(()=>o(null),[]);return r.jsxs(r.Fragment,{children:[r.jsx(Ji,{active:t,trigger:e}),a&&r.jsx(Ji,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:n})]})}var MA=".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}.ihabdevteam-core-scope .page-title--wrap{flex-wrap:wrap}.ihabdevteam-core-scope .page-title--wrap .page-title__main{min-width:min(320px,100%)}";ne(MA);function Ff({title:e,sub:t,rightAction:a,titleAction:o,badge:n,badgeVariant:i="default",documentTitle:s,onBack:c,backLabel:d,wrap:u=!1}){const{t:h}=be.useTranslation();zc(typeof e=="string"?e:s??null);const p=d??h("common.back","\uB4A4\uB85C");return r.jsxs("div",{className:u?"page-title page-title--wrap":"page-title",children:[r.jsxs("div",{className:"page-title__main",children:[r.jsxs("div",{className:"page-title__title-row",children:[c&&r.jsx(ue,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:p,showTooltipInfo:p,onClick:c}),r.jsx("h1",{className:"page-title__title h1",children:e}),n&&r.jsx("div",{className:"page-title__badge",children:r.jsx(gt,{label:n,size:"small",variant:i,fill:"outline"})}),o?r.jsx("div",{className:"page-title__title-action",children:o}):null]}),t&&r.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?r.jsx("div",{className:"page-title__action",children:a}):null]})}function Vf(e){return e??""}const Hf=l.createContext({words:[],loading:!1});function Wf(){return l.useContext(Hf)}function Gf({words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return r.jsx(Hf.Provider,{value:{words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var $A=".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)}";ne($A);function Uf({items:e,actions:t,columns:a,flat:o=!1,className:n,style:i}){const s=a??e.length;return r.jsx("section",{className:Ee("summary-strip",o&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(s),...i},children:r.jsxs("div",{className:"summary-strip__row",children:[r.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>r.jsxs("div",{className:"summary-strip__item",children:[r.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),r.jsx("p",{className:"summary-strip__value body-3b",title:typeof c.value=="string"||typeof c.value=="number"?String(c.value):void 0,children:c.value})]},d))}),t&&r.jsx("div",{className:"summary-strip__actions",children:t})]})})}var RA='.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}.ihabdevteam-core-scope .report-doc__measure{height:0;overflow:hidden}.ihabdevteam-core-scope .report-doc__measure>*{flex-shrink:0}}';ne(RA);const PA=(e,t)=>`${e} / ${t}`;function qf({blocks:e,sectionTitles:t,logo:a,footer:o,pageLabel:n=PA,pageWidth:i,pageHeight:s,margin:c,className:d,style:u}){const{t:h}=be.useTranslation(),p=l.useRef(null),m=l.useRef(null),f=l.useRef(null),g=l.useRef(null),[v,C]=l.useState(null),[b,x]=l.useState(!1);l.useEffect(()=>{const E=p.current;if(!E)return;const V=()=>x(E.scrollWidth>E.clientWidth+1);if(V(),typeof ResizeObserver>"u")return;const X=new ResizeObserver(V);return X.observe(E),()=>X.disconnect()},[v]);const _=e.map(E=>`${E.id}\0${E.section??""}\0${E.group??""}`).join(""),y=v&&v.shape===_?v.pages:null,[A,w]=l.useState(0);l.useEffect(()=>{const E=g.current;if(!E||typeof ResizeObserver>"u")return;const V=new ResizeObserver(()=>w(E.offsetHeight));return V.observe(E),()=>V.disconnect()},[]);const[N,k]=l.useState(0);l.useEffect(()=>{const E=m.current;if(!E||typeof ResizeObserver>"u")return;let V=null;const X=typeof requestAnimationFrame=="function"?$=>requestAnimationFrame($):$=>setTimeout($,16),G=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:$=>clearTimeout($),q=new ResizeObserver(()=>{V==null&&(V=X(()=>{V=null,k($=>$+1)}))});return Array.from(E.children).forEach($=>q.observe($)),()=>{q.disconnect(),V!=null&&G(V)}},[_]),l.useLayoutEffect(()=>{const E=m.current,V=g.current;if(!E||!V)return;const X=F=>F.getBoundingClientRect().height||F.offsetHeight,G=new Map;f.current?.querySelectorAll("[data-chrome-section]").forEach(F=>{G.set(F.dataset.chromeSection??"",X(F))});const q=F=>X(V)-(G.get(F??"")??0),$=Array.from(E.children).map(F=>X(F)),z=[];e.forEach((F,j)=>{const P=z[z.length-1],oe=P?e[P[0]]:void 0;oe&&F.group!=null&&oe.group===F.group&&oe.section===F.section?P.push(j):z.push([j])});const K=[];let O=[],D=0;const H=()=>{O.length&&K.push(O),O=[],D=0};z.forEach(F=>{const j=F.reduce((oe,ae)=>oe+$[ae],0),P=q(e[F[0]].section);O.length&&e[O[0]].section!==e[F[0]].section&&H(),j>P?F.forEach(oe=>{O.length&&D+$[oe]>P+.01&&H(),O.push(oe),D+=$[oe]}):(O.length&&D+j>P+.01&&H(),F.forEach(oe=>O.push(oe)),D+=j)}),H(),C(F=>F&&F.shape===_&&JSON.stringify(F.pages)===JSON.stringify(K)?F:{shape:_,pages:K})},[_,A,i,s,c,N]);const B=Cd,S=B,T=o??r.jsxs(r.Fragment,{children:[r.jsx("img",{src:S,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),R=(E,V,X)=>({header:r.jsxs("div",{className:"report-doc__header",children:[r.jsx("h2",{className:"report-doc__title h3b",children:X!=null&&t?.[X]||null}),a]}),footer:r.jsxs("div",{className:"report-doc__footer caption-1",children:[r.jsx("span",{className:"report-doc__footer-left",children:T}),r.jsx("span",{className:"report-doc__page-no",children:n(E,V)})]})}),M=Array.from(new Set(e.map(E=>E.section??""))),I={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...u};return r.jsxs("div",{ref:p,className:Ee("report-doc",d),style:I,tabIndex:b?0:void 0,role:b?"group":void 0,"aria-label":b?h("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[r.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[r.jsx("div",{ref:g,className:"report-doc__ruler"}),r.jsx("div",{ref:f,children:M.map(E=>{const V=R(1,1,E||void 0);return r.jsxs("div",{"data-chrome-section":E,children:[V.header,V.footer]},E)})}),r.jsx("div",{ref:m,className:"report-doc__measure-blocks",children:e.map(E=>r.jsx("div",{children:E.content},E.id))})]}),y&&r.jsx("div",{className:"report-doc__pages",children:y.map((E,V)=>{const{header:X,footer:G}=R(V+1,y.length,e[E[0]].section);return r.jsxs("section",{className:"report-doc__page",children:[X,E.map(q=>r.jsx("div",{children:e[q].content},e[q].id)),G]},V)})})]})}var zA=".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}";ne(zA);function Yf({title:e,fields:t,columns:a=4,className:o,style:n}){return r.jsxs("div",{className:Ee("report-info",o),style:{"--report-info-cols":String(a),...n},children:[e&&r.jsx("p",{className:"report-info__title h5b",children:e}),r.jsx("div",{className:"report-info__grid",children:t.map((i,s)=>r.jsxs("div",{className:"report-info__field body-2",children:[r.jsx("span",{className:"report-info__label body-3",children:i.label}),r.jsx("span",{className:"report-info__value",children:i.value})]},s))})]})}const Io=new Map;let Qi=null;const IA=12;function OA(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function es(){const e=new Map;for(const t of Io.keys()){if(!t.isConnected)continue;const a=OA(t),o=e.get(a)??[];o.push(t),e.set(a,o)}for(const t of e.values()){t.sort((o,n)=>o.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const o of t){a>0?o.style.setProperty("--update-alert-stack-offset",`${a}px`):o.style.removeProperty("--update-alert-stack-offset");const n=o.getBoundingClientRect().height;n>0&&(a+=n+IA)}}}function FA(e){return typeof window>"u"?()=>{}:(Io.set(e,(Io.get(e)??0)+1),Io.get(e)===1&&typeof ResizeObserver<"u"&&(Qi??(Qi=new ResizeObserver(()=>es())),Qi.observe(e)),es(),()=>{const t=(Io.get(e)??1)-1;if(t>0){Io.set(e,t),es();return}Io.delete(e),Qi?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),es()})}var VA=".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;top:calc(16px + var(--update-alert-stack-offset, 0px));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;top:auto;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%}";ne(VA);function Kf({title:e,message:t,actionLabel:a,onAction:o,icon:n,onClose:i,className:s=""}){const{t:c}=be.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),u=l.useRef(null),h=l.useRef(!1);return l.useLayoutEffect(()=>{const p=u.current,m=p?.parentElement?.closest(".update-alert-stack")??p,f=m?FA(m):null;return()=>{f?.(),h.current&&p&&p.contains(document.activeElement)&&ri(p)}},[]),r.jsxs("div",{ref:u,className:Ee("update-alert",s),role:"alert",children:[i&&r.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{h.current=!0,i()},"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),r.jsxs("div",{className:"update-alert__top",children:[r.jsx("div",{className:"update-alert__icon",children:n??r.jsx(Uu,{size:20,strokeWidth:2})}),r.jsxs("div",{className:"update-alert__body",children:[r.jsx("div",{className:"update-alert__title h4",children:e}),r.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),o&&r.jsx(ue,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:o,children:d})]})}var HA=".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}";ne(HA);function Zf({title:e,description:t,topActions:a,children:o,footerLeft:n,footerRight:i,onClick:s,draggable:c,onDragStart:d,onDragEnd:u,className:h}){const p=n!=null||i!=null,m=o!=null&&o!==!1,f=l.useCallback(g=>{s&&g.target===g.currentTarget&&(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),s())},[s]);return r.jsxs("div",{className:Ee("training-card",s?"training-card--clickable":"",h),onClick:s,onKeyDown:s?f:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[r.jsxs("div",{className:"training-card__header",children:[r.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?r.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&r.jsx("div",{className:"training-card__top-actions",onClick:g=>g.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?r.jsx("p",{className:"training-card__description body-3",children:t}):t:r.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),m&&r.jsx("div",{className:"training-card__body",children:o}),p&&r.jsxs("div",{className:"training-card__footer",children:[n!=null&&r.jsx("div",{className:"training-card__footer-left",children:n}),i!=null&&r.jsx("div",{className:"training-card__meta",children:i})]})]})}var WA=".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}";ne(WA);function Xf({title:e,count:t,collapsed:a=!1,onToggle:o,sort:n,actions:i,empty:s=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:h,onDrop:p,children:m,className:f}){const{t:g}=be.useTranslation(),v=o!=null,C=Ee("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",v&&"training-card-group--collapsible",f);return r.jsxs("div",{className:C,onDragOver:u,onDragLeave:h,onDrop:p,children:[r.jsxs("header",{className:"training-card-group__header",children:[v&&r.jsx(ue,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?g("common.expand","\uD3BC\uCE58\uAE30"):g("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!a,onClick:o}),typeof e=="string"?r.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&r.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&r.jsxs("span",{className:"training-card-group__actions",onClick:b=>b.stopPropagation(),children:[n&&r.jsx(pa,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?r.jsx("div",{className:"training-card-group__empty body-3",children:c}):r.jsx("div",{className:"training-card-group__grid",children:m}))]})}var GA=".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}}";ne(GA);const UA="speechear:saved_word_tables";function qA(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 YA(){try{const e=localStorage.getItem(UA);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(qA):[]}catch{return[]}}function Jf(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function Eu(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function KA(e){const t=new Set;return e.map(a=>{let o=a.id;for(let n=2;t.has(o);n++)o=`${a.id}~${n}`;return t.add(o),o===a.id?a:{...a,id:o}})}function Qf({title:e,titleIcon:t,disc:a,items:o,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:h,onReorder:p,showCellCount:m,onAddItem:f,className:g,renderSavePopup:v,renderWordSearch:C,hideControls:b,saveOnly:x,tableName:_,nameValue:y,onNameChange:A,descriptionValue:w,onDescriptionChange:N,namePlaceholder:k,descriptionPlaceholder:B,existingNames:S,editingName:T,onCancel:R}){const{t:M}=be.useTranslation(),I=d??M("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),E=o===void 0,V=!!A,[X,G]=l.useState([]),q=(y??"").trim(),$=q||(k??"").trim(),z=(w??"").trim()||(B??"").trim(),K=(S??[]).map(Ne=>Ne.trim().toLowerCase()),O=[T?.trim().toLowerCase(),...X].filter(Ne=>!!Ne),D=[...K];for(const Ne of O){const ze=D.indexOf(Ne);ze!==-1&&D.splice(ze,1)}const H=q!==""&&D.includes(q.toLowerCase()),[F,j]=l.useState(Array(4).fill(null)),[P,oe]=l.useState(4),[ae,se]=l.useState(null),ye=F.slice(0,P),[ge,De]=l.useState("landscape"),[ce,Y]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[de,fe]=l.useState("\uD45C\uC2DC"),[Ae,Be]=l.useState(!0),[Te,ke]=l.useState(!0),Se=l.useRef(null),Z=l.useRef([]),[J,W]=l.useState(8),[ie,ee]=l.useState("right"),[me,xe]=l.useState(!1),[qe,Ve]=l.useState(!1),{toastMessage:He,toastType:je,showWarning:Ge,clearToast:$e}=vi("warning"),Ie=l.useCallback(()=>se(null),[se]);f&&!E&&!m&&yo("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[We,at]=l.useState(()=>Math.max(o?.length??1,1)),lt=E?P:m?Math.max(We,o?.length??1,1):Math.max(o?.length??0,1),{width:Ze,height:et}=Ro[ge],kt=!E&&!m,$t=o?.length??0,Ht=Math.min(J,Math.max($t,1)),ft=kt?Ht:lt,ot=kt?t0(o??[],ft):null,Qe=!!ot&&ot.length>1,Ue=E?ye.some(Ne=>Ne!==null&&Ne.length>1):(o??[]).some(Ne=>(Ne.words??[]).length>1),ct=_?.trim()||`${Yn(ua())} ${Ue?M("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):M("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,nt=l.useCallback(()=>Qe?Z.current.filter(Ne=>Ne!==null):Se.current?[Se.current]:[],[Qe]),{print:St,openNewWindow:Ye,downloadHtml:ht}=Ii({getElements:nt,paperW:Ze,paperH:et,fileName:ct,onPopupBlocked:()=>{Ge(M("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."))}}),Rt=Ne=>{oe(Ne),j(ze=>ze.length>=Ne?ze:[...ze,...Array(Ne-ze.length).fill(null)]),se(null)},Pt=Ne=>{j(ze=>{const re=[...ze];return re[Ne]=null,re}),ae===Ne&&se(null)},Re=Ne=>{if(ae===null)return;const ze=ae;j(ve=>{const U=[...ve];return U[ze]=Ne.length>0?Ne:null,U});const re=ye.findIndex((ve,U)=>U>ze&&ve===null);se(re!==-1?re:null)},Xe=E?ye.some(Ne=>Ne?.some(ze=>!!ze.colloquialPronunciation)):(o??[]).some(Ne=>(Ne.words??[]).some(ze=>!!ze.colloquialLabel)),zt=l.useMemo(()=>ao()?E?F.slice(0,P).flatMap(Ne=>(Ne??[]).map(ze=>[ze.word,ze.homonum])):(o??[]).flatMap(Ne=>(Ne.words??[]).map(ze=>[ze.label,ze.homonum])):[],[E,F,P,o]),[Et,Wt]=l.useState(!1);l.useEffect(()=>{if(zt.length===0)return;let Ne=!1;return Promise.all(zt.map(([ze,re])=>Rr(ze,re))).then(ze=>{Ne||Wt(ze.some(Boolean))},()=>{}),()=>{Ne=!0}},[zt]);const Ma=zt.length>0&&Et,it=l.useMemo(()=>[...E||m?[{label:M("wordTable.filter.columns","\uCE78 \uC218"),items:i9.map(Ne=>({value:`${Ne}\uCE78`,displayLabel:M("wordTable.filter.column",{count:Ne})})),display:"segmented"}]:[],...kt&&(o?.length??0)>0?[h0(M,{hasPairs:Ue,itemCount:$t})]:[],...Qe?[b0(M)]:[]],[M,E,m,kt,o?.length,Ue,$t,Qe]),ia={...E||m?{[M("wordTable.filter.columns","\uCE78 \uC218")]:`${lt}\uCE78`}:{},...kt&&(o?.length??0)>0?{[M(Ue?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Ht}\uAC1C`}:{},...Qe?{[M("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:g0[ie]}:{}},Ja=(Ne,ze)=>{ze===M("wordTable.filter.columns","\uCE78 \uC218")?E?Rt(parseInt(Ne)):at(parseInt(Ne)):ze===M(Ue?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?W(m0(parseInt(Ne),$t)):ze===M("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&ee(f0(Ne))},Dt=E?KA(ye.filter(Ne=>Ne!==null&&Ne.length>0).map(Ne=>({id:Eu(Ne),words:Ne.map(Jf)}))):o??[],Qt=()=>{E&&j(Ne=>Ne.length>P?Ne.slice(0,P):Ne)},ha=(Ne=!1)=>{if(Ve(Ne),V&&n){const ze=$.trim().toLowerCase();ze&&G(re=>re.includes(ze)?re:[...re,ze]),n($,Dt,z||void 0,Ne),Qt();return}if(x&&n){n("",Dt,void 0,Ne),Qt();return}if(n){xe(!0);return}ht()},[wa,$a]=l.useState(!1),[ma,Qa]=l.useState(""),sa=ma.trim(),yt=sa!==""&&K.includes(sa.toLowerCase()),Ra=()=>{Qa($?M("wordTable.save.copyName",{name:$,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),$a(!0)},la=()=>{!sa||yt||!n||(n(sa,Dt,z||void 0,!0),Qt(),$a(!1))},Gt=Dt.length===0,Pa=Gt||V&&($===""||H),ca=()=>{if(Gt){Ge(M("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(V&&$===""){Ge(M("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}V&&H&&Ge(M("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},za=r.jsx(Po,{items:Dt,orientation:ge,contentTypes:ce,cutLine:de,showOutline:Ae,showDivLine:Te,count:lt});return r.jsxs(r.Fragment,{children:[r.jsxs($o,{type:"page",icon:t,title:e,disc:a,className:Ee("word-table-block",g),children:[wa&&r.jsx(Ka,{size:"small",title:h??M("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>$a(!1),footer:({closeWithAnimation:Ne})=>r.jsxs(r.Fragment,{children:[r.jsx(ue,{htmlType:"button",size:48,type:"bar",label:M("common.cancel","\uCDE8\uC18C"),onClick:Ne}),r.jsx(ue,{htmlType:"button",size:48,type:"bar",variant:"main",label:M("common.save","\uC800\uC7A5"),disabled:!sa||yt,onClick:la})]}),children:r.jsx(mo,{label:M("wordTable.save.nameLabel","\uC774\uB984"),value:ma,onChange:Qa,placeholder:M("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:la,error:yt?M("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),me&&n&&v?.({defaultName:typeof e=="string"?e:M("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:za,previewW:Ze,previewH:et,items:Dt,existingNames:YA().map(Ne=>Ne.name),saveAsNew:qe,onSave:(Ne,ze)=>{n(Ne,Dt,ze,qe),Qt(),xe(!1)},onCancel:()=>xe(!1)}),(E||f)&&ae!==null&&C?.({cellIndex:ae,onConfirm:E?Re:Ne=>{if(f){const ze=Ne[0];if(ze){const re=new Set((o??[]).map(U=>U.id));let ve=Eu([ze]);for(let U=2;re.has(ve);U++)ve=`${Eu([ze])}~${U}`;f({id:ve,words:[Jf(ze)]})}}se(null)},onClose:Ie}),!b&&r.jsx(Pi,{hasImage:Ma,hasColloquial:Xe,contentTypes:ce,orientation:ge,showOutline:Ae,cutLine:de,showDivLine:Te,setters:{setContentTypes:Y,setOrientation:De,setShowOutline:Be,setCutLine:fe,setShowDivLine:ke},showCutLine:(kt?ft:lt)>1,showDivLine2:Ue,middleSections:it,extraSelected:ia,onExtraSelect:Ja}),Qe&&ot?r.jsx("div",{className:"word-table-block__pages",children:ot.map((Ne,ze)=>r.jsx(Po,{orientation:ge,contentTypes:ce,cutLine:de,showOutline:Ae,showDivLine:Te,count:ft,items:Ne,onRemoveItem:s,onReorder:p&&((re,ve)=>p(re+ze*ft,ve+ze*ft)),contentRef:re=>{Z.current[ze]=re},pageNumber:{current:ze+1,total:ot.length},pageNumberPosition:ie},ze))}):r.jsx(Po,{orientation:ge,contentTypes:ce,cutLine:de,showOutline:Ae,showDivLine:Te,count:lt,items:E?void 0:o??[],editCells:E?ye:void 0,activeCell:ae,onActivateCell:E||f?se:void 0,onRemoveCell:E?Pt:void 0,onRemoveItem:E?void 0:s,onReorder:E?void 0:p,showFillerAdd:!!f,contentRef:Se}),V&&!b&&r.jsxs(_n,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[r.jsx(Za,{variant:"custom",label:M("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:r.jsx(mo,{required:!0,value:y??"",onChange:A,placeholder:k?k+M("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):M("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:M("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:H?M("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(y??"").trim()&&(k??"").trim()&&(Ne.preventDefault(),A?.(k??""))}})}),r.jsx(Za,{variant:"custom",label:M("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:r.jsx(mo,{value:w??"",onChange:N,placeholder:B?B+M("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):M("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:M("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(w??"").trim()&&(B??"").trim()&&(Ne.preventDefault(),N?.(B??""))}})})]})]}),!b&&r.jsxs("div",{className:"word-table-block__actions",children:[r.jsxs("div",{className:"word-table-block__actions-left",children:[!x&&c&&r.jsx(ue,{htmlType:"button",size:40,type:"bar",label:I,onClick:c}),!x&&i&&r.jsx(ue,{htmlType:"button",size:40,type:"bar",label:M("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!x&&r.jsx(ue,{htmlType:"button",size:40,type:"bar",label:M("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Ye})]}),r.jsxs("div",{className:"word-table-block__actions-right",children:[R&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:M("common.cancel","\uCDE8\uC18C"),onClick:R}),!x&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:M("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:St}),h&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>V?Ra():ha(!0),disabled:Gt,onDisabledClick:()=>{Ge(M("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),r.jsx(ue,{htmlType:"button",size:"56",type:"bar",variant:"main",label:u??M("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>ha(!1),disabled:Pa,onDisabledClick:ca})]})]}),r.jsx(Mo,{message:He,type:je,onClose:$e})]})}var ZA=".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%}";ne(ZA);function Du({items:e,className:t}){const a=e.length,o=a<=3?1:2,n=Math.ceil(a/o)||1,i=o*n;return r.jsx("div",{className:Ee("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${o}, 1fr)`},children:Array.from({length:i},(s,c)=>{const d=e[c];return d?r.jsx("div",{className:"word-table-thumb__cell",children:(d.words?.length?d.words:[{label:d.id}]).map((u,h)=>r.jsxs(l.Fragment,{children:[h>0&&r.jsx("span",{className:"word-table-thumb__divider"}),r.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},h))},c):r.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var XA=".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}";ne(XA);function e1({items:e,name:t,description:a,createdAt:o,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:d,publisherName:u,publishedAt:h,likeCount:p,downloadCount:m,onPublisherClick:f,selected:g,onClick:v,onMore:C,titleNode:b,className:x}){const{t:_}=be.useTranslation(),y=b!=null,A=u!=null||h!=null||p!=null||m!=null,w=N=>{N.target===N.currentTarget&&!y&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),v?.())};return r.jsxs("div",{className:Ee("word-table-button",g?"word-table-button--selected":"",A?"":"word-table-button--no-footer",x),role:"button",tabIndex:0,"aria-label":t,onClick:y?void 0:v,onKeyDown:w,children:[d&&r.jsx("span",{className:"word-table-button__new-dot","aria-label":_("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),r.jsx(Du,{items:e,className:"word-table-button__thumb"}),r.jsxs("div",{className:"word-table-button__info",children:[r.jsxs("div",{className:"word-table-button__info-text",children:[b??r.jsx("div",{className:"word-table-button__title h4",children:t}),a&&r.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),C&&!y&&r.jsx(ue,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:_("common.moreFor",{name:t}),onClick:N=>{N.stopPropagation(),C(N)}})]}),(o||n||s)&&r.jsxs("div",{className:"word-table-button__meta-row",children:[r.jsx("span",{className:"word-table-button__meta caption-1",children:o?qn(o,_):""}),r.jsxs("span",{className:"word-table-button__badges",children:[n&&r.jsx(gt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??_("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),s&&r.jsx(gt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??_("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]})]}),A&&r.jsxs("div",{className:"word-table-button__footer",children:[r.jsxs("span",{className:"word-table-button__store-by",children:[u&&r.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:N=>{N.stopPropagation(),f?.()},children:u}),h&&r.jsx("span",{className:"training-card__date body-4",children:qn(h,_)})]}),r.jsxs("span",{className:"word-table-button__store-stats",children:[p!=null&&r.jsx(gt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(p)}),m!=null&&r.jsx(gt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(m)})]})]})]})}/**
1005
+ \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}}`;ne(hA);function wu(...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,o=[a.text,a.label,a.value];for(const n of o){if(typeof n=="string"&&n.trim().length)return n.trim();if(typeof n=="number"||typeof n=="boolean")return String(n)}}}return null}function mA(e){return wu(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function Bf(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=wu(e?.status,e?.result,e?.judge,e?.note);if(t){const a=t.toLowerCase();if(["ok","true","\uB9DE\uC74C","\uC815\uB2F5"].some(o=>a.includes(o)))return!0;if(["ng","false","\uD2C0\uB9BC","\uC624\uB2F5"].some(o=>a.includes(o)))return!1}}function ku(e){const{score:t,contextsLength:a,results:o=[],subtitle:n,onReplay:i,onClose:s,inline:c=!1,pending:d=!1}=e||{},{t:u}=be.useTranslation(),h=l.useId(),p=l.useCallback(()=>!d,[d]);l.useEffect(()=>{const x=a??0;if(t!=null&&x>0&&t/x>.5){const _=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(_)}},[t,a]);const m=l.useCallback(x=>{const _=Bf(x),y=wu(x?.wording,x?.label);return _===!0?{variant:"main",label:y??u("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:_===!1?{variant:"danger",label:y??u("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:y??u("training.result.notJudged","\uBBF8\uD310\uC815")}},[u]),f=a??0,g=t??0,v=l.useMemo(()=>Array.isArray(o)?o:[],[o]),C=l.useMemo(()=>v.map(x=>{const _=x??{},y=mA(_)||u("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:A,label:w}=m(_),N=Array.isArray(_.corrects)?_.corrects:[],k=N.length?N.join(", "):_.answer!=null&&_.answer!==""?String(_.answer):null,B=typeof _.selectedText=="string"?_.selectedText:null,S=Bf(_)===!0;return{problem:y,variant:A,label:w,answer:k,selectedText:B,isCorrect:S}}),[v,m,u]),b=l.useMemo(()=>C.some(x=>x.answer!==null||x.selectedText!==null),[C]);return r.jsx(Ka,{onClose:s,closeOnBackdrop:!1,inline:c,ariaLabel:u("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4."),className:"popup--training-result",beforeClose:p,footerClassName:"trp-result__foot",footer:({animateThen:x,closeWithAnimation:_})=>r.jsxs(r.Fragment,{children:[d&&r.jsx("p",{id:h,className:"trp-actions__reason caption-1",role:"status",children:u("training.result.pendingDone","\uACB0\uACFC\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\uC774\uB77C \uC544\uC9C1 \uC644\uB8CC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.")}),r.jsxs("div",{className:"trp-actions",children:[r.jsx(ue,{htmlType:"button",size:56,type:"bar",label:u("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>x(i)}),r.jsx(ue,{htmlType:"button",size:56,type:"bar",label:u("training.result.done","\uC644\uB8CC"),variant:"main",onClick:_,disabled:d,onDisabledClick:d?()=>{}:void 0,"aria-describedby":d?h:void 0})]})]}),children:()=>r.jsxs("div",{className:"trp-result is-on",children:[r.jsxs("header",{className:"trp-result__head",children:[r.jsx("p",{className:"trp-result__eyebrow caption-1",children:u("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),r.jsx("h1",{className:"trp-result__title h2",children:u("training.result.title","\uD6C8\uB828\uC744 \uBAA8\uB450 \uB9C8\uCCE4\uC2B5\uB2C8\uB2E4.")}),n&&r.jsx("p",{className:"trp-result__subtitle body-3",children:n}),r.jsx("div",{className:"trp-score",children:r.jsxs("div",{className:"trp-score__figure","aria-label":u("training.result.scoreAria",{correct:g,total:f}),children:[r.jsx("span",{className:"trp-score__big",children:g}),r.jsx("span",{className:"trp-score__sep",children:"/"}),r.jsx("span",{className:"trp-score__total",children:f})]})})]}),C.length>0&&r.jsx("section",{className:"trp-result__body",children:r.jsxs("div",{className:`result-table${b?" result-table--answer":""}`,role:"table","aria-label":u("training.result.tableAriaLabel","\uBB38\uD56D\uBCC4 \uD310\uC815"),children:[r.jsxs("div",{className:"result-table__head caption-1",role:"row",children:[r.jsx("span",{role:"columnheader",children:u("common.col.problem","\uBB38\uC81C")}),b&&r.jsx("span",{role:"columnheader",children:u("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),r.jsx("span",{className:"col-right",role:"columnheader",children:u("training.result.colJudge","\uD310\uC815")})]}),C.map((x,_)=>r.jsxs("div",{className:"result-table__row",role:"row",children:[r.jsxs("div",{className:"trp-row__problem",children:[r.jsx("span",{className:"trp-row__no caption-1",children:String(_+1).padStart(2,"0")}),r.jsx("div",{className:"trp-row__q body-2",children:x.problem})]}),b&&r.jsxs("div",{className:"trp-row__answers",children:[x.answer!==null&&r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:u("training.result.colAnswer","\uC815\uB2F5")}),r.jsx("span",{className:"trp-row__answer-value body-2",children:x.answer})]}),r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${x.isCorrect?"is-correct":"is-wrong"}`,children:u("training.result.colSelected","\uC120\uD0DD")}),r.jsx("span",{className:`trp-row__answer-value body-2 ${x.isCorrect?"is-correct":"is-wrong"}`,children:x.selectedText??"\u2014"})]})]}),r.jsx("div",{className:"trp-row__judge",children:r.jsx(gt,{variant:x.variant,label:x.label,fill:"soft",minWidth:80})})]},_))]})})]})})}function bA(e){l.useEffect(()=>{if(!e)return;const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,o=null,n=0,i=0;const s=()=>{const h=Date.now();a==null&&(a=h),o==null&&(o=h)},c=()=>{o!=null&&(n+=Date.now()-o,o=null)};t()&&s();const d=()=>{if(c(),a==null||n-i<1e3||i===0&&n<5e3)return;const h=a+i;i=n,Nl({trainingType:e,startedAt:new Date(h).toISOString(),endedAt:new Date(a+n).toISOString()})},u=()=>{t()?s():d()};return typeof document<"u"&&document.addEventListener("visibilitychange",u),typeof window<"u"&&window.addEventListener("pagehide",d),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",u),typeof window<"u"&&window.removeEventListener("pagehide",d),d()}},[e])}function Au(e,t){return e&&e.id||`page-${t??0}`}function Bu(e,t){return e&&e.key||`step-${t??0}`}function Xi(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function gA(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const fA=300,vA=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},vo=Object.freeze({}),Sf=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function Nf(e){const t=e,a=t?.results||t?.answers||[],o=Array.isArray(a)&&a.length>0?a.length:null,n=Array.isArray(a)?a.filter(i=>i?.correct===!0||i?.isCorrect===!0||i?.score===1||i?.heard===!0||i?.judgement===!0).length:null;return{results:a,correct:o!=null?n:null,total:o}}const xA=e=>r.jsx(ku,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function yA(e){const{scenario:t,title:a,subTitle:o,depth:n,icon:i,wrapperStyle:s,iconTooltip:c,pageIndex:d,pageCount:u,stepIndex:h,stepCount:p,onBack:m,onComplete:f,onNext:g,onSettings:v,useNoiseSetting:C=!0,children:b,ariaLabel:x,label:_,buildResults:y,onResult:A,typeKey:w,entryPoint:N,dailyTotal:k,itemRef:B,renderResultPopup:S,noiseOverride:T}=e;bA(w&&!Sf.has(w)?w:"");const R=l.useRef(0);l.useEffect(()=>{R.current=Date.now()},[]);const{t:M}=be.useTranslation(),I=A,E=!!t,V=t?.id||null,X=t?.meta||{},G=Array.isArray(t?.pages)?t.pages:[],q=Array.isArray(b)||l.isValidElement(b)&&typeof b!="function"?l.Children.toArray(b).filter(l.isValidElement):[],$=q.length>0,z=re=>re===wn||re?.__isTrainingPage===!0,K=$&&q.some(re=>z(re.type)),O=K?q.filter(re=>z(re.type)).map((re,ve)=>{const U=re.props||{};return{id:`children-page-${ve}`,steps:l.Children.toArray(U.children).filter(l.isValidElement),pageTop:U.pageTop||U.top||null,pageBottom:U.pageBottom||U.bottom||null}}):[{id:"children-page-0",steps:q}],D=$&&!E&&typeof b!="function",H=D?Math.max(1,O.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 re=document.body;return re.dataset.ihabTrainingPopupCount=String(Number(re.dataset.ihabTrainingPopupCount||"0")+1),re.classList.add("ihab-training-popup-open"),()=>{const ve=Number(re.dataset.ihabTrainingPopupCount||"1")-1;ve>0?re.dataset.ihabTrainingPopupCount=String(ve):(delete re.dataset.ihabTrainingPopupCount,re.classList.remove("ihab-training-popup-open"))}},[]),l.useEffect(()=>{if(!(typeof document>"u"||!document.body))return Ak()},[]);const[F,j]=l.useState({...yr,enabled:!1}),P=l.useRef(F);l.useEffect(()=>{P.current=F},[F]);const oe=l.useRef(T),ae=l.useRef(!1),se=l.useRef(null);l.useEffect(()=>{let re=!1;const ve=U=>{if(re)return;ae.current=!0;const le=U?xr({...yr,enabled:!1},U):{...yr},pe=se.current;se.current=null;const _e=pe?xr(le,pe):le;P.current=_e,j(_e),pe&&!oe.current&&Wn(_e),er(_e);const we=oe.current;if(we){const Me=typeof we=="function"?we(_e):we,st=xr(_e,Me);P.current=st,j(st),er(st)}};return jl().then(ve),()=>{re=!0}},[]);const[ye,ge]=l.useState(null),[De,ce]=l.useState(null),Y=l.useCallback((re,ve)=>{re==="main"?ge(ve):ce(ve)},[]),de=l.useRef(null),fe=l.useRef(null),Ae=l.useCallback(()=>{fe.current!==null&&(clearTimeout(fe.current),fe.current=null);const re=de.current;de.current=null,re&&Wn(re)},[]);l.useEffect(()=>{if(typeof window>"u")return;const re=()=>{document.visibilityState==="hidden"&&Ae()};return window.addEventListener("pagehide",Ae),document.addEventListener("visibilitychange",re),()=>{window.removeEventListener("pagehide",Ae),document.removeEventListener("visibilitychange",re),Ae()}},[Ae]);const Be=l.useCallback(re=>{const ve=xr(P.current,re);if(P.current=ve,j(ve),!ae.current){se.current={...se.current??{},...re},er(ve);return}oe.current||(de.current=ve,fe.current!==null&&clearTimeout(fe.current),fe.current=setTimeout(Ae,fA)),er(ve)},[Ae]),Te=F.mainSpeed,ke=F.mainVolume,Se=l.useCallback(re=>Be({mainSpeed:re}),[Be]),Z=l.useCallback(re=>Be({mainVolume:re}),[Be]),J=l.useMemo(()=>({settings:F,setSettings:Be,registerAnalyser:Y,mainAnalyser:ye,noiseAnalyser:De,playbackRate:Te,setPlaybackRate:Se,mainVolume:ke,setMainVolume:Z}),[F,Be,Y,ye,De,Te,Se,ke,Z]),W=l.useRef(null),[ie,ee]=l.useState(0),me=l.useRef([]),[xe,qe]=l.useState("center"),[Ve,He]=l.useState(!1),je=l.useRef(!1),Ge=l.useRef(null),$e=l.useCallback(re=>{je.current||(je.current=!0,He(!0),Ge.current=setTimeout(()=>{try{re()}catch{je.current=!1,He(!1)}},vA()?0:Q9))},[]);l.useEffect(()=>()=>{Ge.current&&clearTimeout(Ge.current)},[]);const Ie=l.useRef(m);l.useEffect(()=>{Ie.current=m}),l.useEffect(()=>{const re=W.current,ve=document.activeElement;if(tc(re,ve),re){const U=Array.from(re.querySelectorAll(Ga)).filter(le=>!le.closest('[aria-hidden="true"]'))[0];if(U)try{U.focus()}catch{}}return()=>{const U=document.activeElement;if(!U||U===document.body||re&&re.contains(U))try{ac(ve)?.focus?.()}catch{}}},[]),l.useEffect(()=>Do(()=>$e(()=>{const re=Ie.current;typeof re=="function"&&re()})),[$e]),Ql(W,!0);const[We,at]=l.useState(!1),lt=l.useRef(!1),[Ze,et]=l.useState(null),kt=l.useRef(0),$t=()=>{kt.current+=1,et(null)},[Ht,ft]=l.useState(""),[ot,Qe]=l.useState(()=>Xi()),Ue=l.useRef(typeof d=="number"?d:null);l.useEffect(()=>{!E&&!D||(Qe(Xi()),$t())},[E,V,D]),l.useEffect(()=>{D&&Qe(re=>{const ve=Math.max(0,Math.min(re.pageIndex,Math.max(0,H-1)));return ve!==re.pageIndex?{...re,pageIndex:ve,stepIndex:0}:re})},[D,H]);const ct=D?Math.max(0,Math.min(ot.pageIndex,H-1)):0,nt=D?O[ct]:null,St=D&&nt&&Array.isArray(nt.steps)?nt.steps:[],Ye=E?ot.pageIndex:D?ct:typeof d=="number"?d:0,ht=E?G[Math.max(0,Math.min(ot.pageIndex,Math.max(0,G.length-1)))]:null,Rt=E&&ht&&Array.isArray(ht.steps)?ht.steps:[],Pt=E?Rt.length:D?St.length:typeof p=="number"?p:0,Re=E||D?Math.max(0,Math.min(ot.stepIndex,Math.max(0,Pt))):typeof h=="number"?h:0,Xe=E?G.length:D?H:typeof u=="number"?u:0;l.useLayoutEffect(()=>{const re=Ue.current;if(typeof Ye=="number"&&re!==null&&Ye!==re&&Ye>re)try{ft(M("training.problemNotice",{n:Ye+1}))}catch{}Ue.current=typeof Ye=="number"?Ye:Ue.current},[Ye,d,M]),l.useLayoutEffect(()=>{const re=W.current;if(!re)return;const ve=()=>re.querySelector(".page-popup__scroll");let U=null,le=null,pe=null;const _e=mt=>{const Tt=ve();if(!Tt)return;const ea=Tt.scrollHeight<=Tt.clientHeight;if(qe(ea?"center":"top"),mt&&!lt.current){lt.current=!0;try{at(!0)}catch{}try{st.disconnect()}catch{}}},we=()=>{U!==null&&cancelAnimationFrame(U),U=requestAnimationFrame(()=>{le!==null&&clearTimeout(le),le=setTimeout(()=>_e(!0),60)})},Me=()=>{pe!==null&&cancelAnimationFrame(pe),pe=requestAnimationFrame(()=>_e(!1))};we(),window.addEventListener("resize",Me);const st=new MutationObserver(we);st.observe(re,{childList:!0,subtree:!0,attributes:!0});const Ct=setTimeout(()=>{lt.current||_e(!0)},400);return()=>{window.removeEventListener("resize",Me),U!==null&&cancelAnimationFrame(U),le!==null&&clearTimeout(le),pe!==null&&cancelAnimationFrame(pe),clearTimeout(Ct);try{st.disconnect()}catch{}}},[W]);const zt=l.useCallback(re=>{W.current&&(W.current._childOnNext=re)},[]),Et=l.useCallback(re=>{W.current&&(W.current._childOnResult=re)},[]),Wt=l.useCallback((re,ve,U)=>{Qe(le=>{const pe=le.answersByPage[re]||{},_e=pe[ve],we=Zi(U),Me=Zi(_e);return _e&&Me>we?le:{...le,answersByPage:{...le.answersByPage,[re]:{...pe,[ve]:U}}}})},[Qe]),Ma=l.useCallback((re,ve,U)=>{const le=Au(ht,Ye),pe=Bu(re,ve);Wt(le,pe,U)},[ht,Ye,Wt]),it=l.useCallback((re,ve,U)=>{const le=Au(ht,Ye),pe=Bu(re,ve);Wt(le,pe,U),!U?.allowChange&&re?.autoAdvance!==!1&&Qe(_e=>({..._e,stepIndex:Math.max(_e.stepIndex,ve+1)}))},[ht,Ye,Wt,Qe]),ia=l.useCallback((re,ve)=>{const U=nt?.id||`children-page-${Ye??0}`,le=typeof ve=="number"?ve:Re??0,pe=`step-${le}`;Wt(U,pe,re),re?.allowChange||Qe(_e=>({..._e,stepIndex:Math.max(_e.stepIndex,le+1)}))},[nt,Ye,Re,Wt,Qe]),Ja=l.useCallback((re,ve)=>{const U=nt?.id||`children-page-${Ye??0}`,le=`step-${typeof ve=="number"?ve:Re??0}`;Wt(U,le,re)},[nt,Ye,Re,Wt]),Dt=D?{currentPageIndex:Ye??0,currentStepIndex:Re??0,totalStepsInPage:St.length,handleStepDone:ia,handleStepChange:Ja}:null,Qt=async()=>{const re=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:G,flowState:ot,answersByPage:ot.answersByPage})):null;return typeof I=="function"&&await Promise.resolve(I(re))||re},ha=async()=>{const re=nt?.id||`children-page-${ot.pageIndex}`,ve=ot.answersByPage[re]||{},U=K?(()=>{const _e={};let we=0;return O.forEach(Me=>{const st=ot.answersByPage[Me.id]||{},Ct=Array.isArray(Me.steps)?Me.steps.length:0;for(let mt=0;mt<Ct;mt+=1){const Tt=st[`step-${mt}`];typeof Tt<"u"&&(_e[`step-${we+mt}`]=Tt)}we+=Ct}),_e})():ve;if(typeof y=="function"){const _e=await Promise.resolve(y(U,{pageAnswers:ve,answersByPage:ot.answersByPage,pages:O,currentPageId:re}));return typeof I=="function"&&await Promise.resolve(I(_e))||_e}const le=Object.entries(ve).map(([_e,we],Me)=>({index:Me,key:_e,payload:we})),pe={results:le,answers:le,score:0};return typeof I=="function"&&await Promise.resolve(I(pe))||pe},wa=()=>{const re=++kt.current,ve=()=>re!==kt.current;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(E){const pe=Qt();et(vo);const _e=pe;Promise.resolve(_e).then(we=>{ve()||et(we||{isEmpty:!0})}).catch(we=>{!ve()&&et({isEmpty:!0})});return}if(D){const pe=ha();et(vo);const _e=pe;Promise.resolve(_e).then(we=>{ve()||et(we||{isEmpty:!0})}).catch(we=>{!ve()&&et({isEmpty:!0})});return}const U=W.current&&W.current._childOnResult,le=pe=>{try{return pe?pe():void 0}catch{return}};if(typeof U=="function"){const pe=le(U);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:da&&da.tagName.toUpperCase()==="SCRIPT"&&da.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}pe&&typeof pe.then!="function"?et(pe):et(pe&&typeof pe.then=="function"?vo:{});const _e=()=>{ve()||et(we=>we===vo?{}:we)};Promise.resolve(pe).then(we=>{we&&!ve()?et(we):_e()}).catch(we=>{_e()});return}if(typeof I=="function"){const pe=le(I);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:da&&da.tagName.toUpperCase()==="SCRIPT"&&da.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}pe&&typeof pe.then!="function"?et(pe):et(pe&&typeof pe.then=="function"?vo:{});const _e=()=>{ve()||et(we=>we===vo?{}:we)};Promise.resolve(pe).then(we=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:da&&da.tagName.toUpperCase()==="SCRIPT"&&da.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}we&&!ve()?et(we):_e()}).catch(we=>{console.error("viewResults external handler failed",we),_e()});return}},$a=()=>{if(E){if(typeof Ye=="number"&&typeof Xe=="number"&&Ye<Xe-1){Qe(ve=>({...ve,pageIndex:ve.pageIndex+1,stepIndex:0}));return}return wa()}if(D){const ve=St.length;if(typeof Re=="number"&&Re<ve-1){Qe(U=>({...U,stepIndex:U.stepIndex+1}));return}if(typeof Ye=="number"&&typeof Xe=="number"&&Ye<Xe-1){Qe(U=>({...U,pageIndex:U.pageIndex+1,stepIndex:0}));return}return wa()}if(typeof g=="function"){try{g()}catch{}return}const re=W.current&&W.current._childOnNext;if(typeof re=="function"){try{re()}catch{}return}},ma=E?X.title||X.label||x||M("common.popup","\uD31D\uC5C5"):a||_||(Array.isArray(n)?n[n.length-1]:void 0)||x||M("common.popup","\uD31D\uC5C5"),Qa=x||ma,sa=E?X.title??X.label??ma:a??_??ma,yt=(re,ve)=>{const U=Au(ht,Ye),le=Bu(re,ve),pe=ot.answersByPage[U]?.[le],_e=gA(re,{page:ht,pageIndex:Ye,step:re,stepIndex:ve,storedPayload:pe,answersByPage:ot.answersByPage,flowState:ot}),we={key:le,index:ve,stepIndex:Re,isLast:ve===Rt.length-1};switch(re?.type){case"listen":return r.jsx(Yi,{...we,..._e,onDone:Me=>it(re,ve,Me)});case"confirm":return r.jsx(Ui,{...we,..._e,onDone:Me=>it(re,ve,Me),onChange:Me=>Ma(re,ve,Me)});case"confirmWithText":return r.jsx(qi,{...we,..._e,onDone:Me=>it(re,ve,Me),onChange:Me=>Ma(re,ve,Me)});case"orderList":return r.jsx(Ki,{...we,..._e,onDone:Me=>it(re,ve,Me),onChange:Me=>Ma(re,ve,Me)});default:return null}},Ra=l.useRef(void 0);l.useEffect(()=>{const re=Ra.current;if(Ra.current=Ye,re===void 0||re===Ye||!ji())return;const ve=W.current;if(!ve)return;const U=document.activeElement;if(!(!U||U===document.body||!ve.contains(U)||U.disabled===!0))return;const le=ve.querySelector(`.training-steps ${Ga.split(", ").join(", .training-steps ")}`)??Array.from(ve.querySelectorAll(Ga)).find(pe=>!pe.closest('[aria-hidden="true"]'));try{le?.focus()}catch{}},[Ye]);const la=E?G.length>0?r.jsx("div",{className:"training-steps",children:Rt.map((re,ve)=>yt(re,ve))},`replay-${ie}`):r.jsx("div",{className:"page-popup__content page-popup__content--center",children:r.jsx("div",{className:"pp-empty",children:t?.emptyMessage||M("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,Gt=D?r.jsxs(Af.Provider,{value:Dt,children:[nt?.pageTop?r.jsx("div",{className:"training-page-top",children:nt.pageTop}):null,r.jsx("div",{className:"training-steps",children:St.map((re,ve)=>{const U=re;return l.cloneElement(U,{...U.props,_stepIndex:ve,_totalSteps:St.length,_stepKey:`step-${ve}`,_pageIndex:Ye})})},`replay-${ie}`),nt?.pageBottom?r.jsx("div",{className:"training-page-bottom",children:nt.pageBottom}):null]}):null,Pa=l.useCallback(()=>{let re;if(w){const ve=Ze,{results:U,correct:le,total:pe}=Nf(Ze);El({items:Tl(U),category:Sf.has(w)?"sentence":"word",trainingType:w,entryPoint:N??"sentence",itemRef:B??null,correct:le,total:pe,score:typeof ve?.score=="number"?ve.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-R.current)/1e3)),dailyTotal:k??null}),re={correct:le,total:pe,attempt:me.current.length+1,previousAttempts:[...me.current]}}$t(),$e(()=>{typeof f=="function"&&f(re),typeof m=="function"&&m()})},[f,m,w,N,k,B,Ze,et,$e]),ca=l.useCallback(()=>ft(""),[ft]),za=l.useCallback(()=>{$e(()=>{typeof m=="function"&&m()})},[m,$e]),Ne=r.jsxs("div",{className:`page-popup${Ve?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":Qa,children:[r.jsxs("div",{ref:W,className:`page-popup__panel ${We?"":"page-popup__panel--measuring"} ${xe==="center"?"page-popup__panel--center":xe==="top"?"page-popup__panel--top":""}`,children:[r.jsx(bu,{title:sa,subtitle:E?X.subtitle||X.label:Array.isArray(n)?n.join(" / "):void 0,desc:E?void 0:o,depth:E?X.depth:n,icon:E?X.icon:i,wrapperStyle:E?X.wrapperStyle:s,iconTooltip:E?X.iconTooltip:c,progressMax:Xe,progressIndex:Ye,pageIndex:Ye,pageCount:Xe,onBack:za,onClose:za}),r.jsx("div",{className:"page-popup__scroll",children:r.jsx("div",{className:`page-popup__content ${xe==="center"?"page-popup__content--center":"page-popup__content--top"}`,children:D?Gt:E?la:typeof b=="function"?b({registerOnNext:zt,registerOnResult:Et,panelRef:W,setResultOverlay:et}):b})}),r.jsx(mu,{onSettings:v,onNext:$a,onResult:wa,useNoiseSettingBtn:!!(E?X.useNoiseSetting??!0:C),stepIndex:Re,stepCount:Pt,pageIndex:Ye,pageCount:Xe})]}),Ze&&!Ze.isEmpty&&(S??xA)({score:Ze.score,results:Ze.results||Ze.answers||[],contextsLength:Ze.results?Ze.results.length:Ze.answers?Ze.answers.length:0,onReplay:()=>{if(R.current=Date.now(),Ze!==vo){const{correct:re,total:ve}=Nf(Ze);me.current.push({correct:re,total:ve})}if($t(),ee(re=>re+1),E){if(Qe(Xi()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(D){Qe(Xi());return}try{const re=W.current&&W.current._childOnResult;typeof re=="function"&&re({replay:!0})}catch{}},onClose:Pa,pending:Ze===vo}),Ze?.isEmpty&&r.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC"),children:r.jsxs("div",{className:"page-popup__panel page-popup__panel--center",children:[r.jsx("div",{className:"page-popup__scroll",children:r.jsx("div",{className:"page-popup__content page-popup__content--center",children:r.jsx("div",{className:"page-popup__empty",children:M("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),r.jsx("div",{className:"page-popup__bottom",children:r.jsx(ue,{htmlType:"button",variant:"main",size:48,onClick:Pa,label:M("training.result.done","\uC644\uB8CC")})})]})}),r.jsx(Mo,{message:Ht,position:"top",onClose:ca})]}),ze=r.jsx(Hi.Provider,{value:J,children:Ne});return typeof document<"u"&&document.body?ta.createPortal(ze,document.body):ze}const Xa=yA;Xa.Page=wn,Xa.ListenStep=vu,Xa.ConfirmStep=xu,Xa.ConfirmWithTextStep=yu,Xa.OrderListStep=Cu,Xa.CardStep=_u,Xa.CardOrderStep=pA;var CA=".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)}";ne(CA);var _A='.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}';ne(_A);function wA({label:e,homonum:t}){const a=ao()?.(e,t)??"",{imgRef:o,loading:n,hasImage:i,onLoad:s,onError:c}=Fd(a);return i?r.jsxs("div",{className:"tooltip-word-image__cell",children:[n&&r.jsx("div",{className:"tooltip-word-image__spinner"}),r.jsx("img",{ref:o,src:a,alt:e,draggable:!1,style:{opacity:n?0:1},onLoad:s,onError:c})]}):r.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:r.jsx("span",{children:e})})}function Su({words:e,anchorRect:t}){const a=l.useRef(null),[o,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:ta.createPortal(r.jsx("div",{ref:a,className:"tooltip-word-image",style:{visibility:o?"visible":"hidden",left:o?.left??0,top:o?.top??-9999},children:r.jsx("div",{className:"tooltip-word-image__cells",children:e.map(i=>r.jsx(wA,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}const kA=new Intl.Collator("ko");function Ef({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:o,items:n,groups:i,selected:s=[],onSelect:c,maxSelect:d,onClearSelection:u,onPrint:h,onPrintEmpty:p,className:m,emptyHint:f,sectionType:g="page",disc:v,notice:C}){const{t:b,i18n:x}=be.useTranslation(),_=x.language?.startsWith("ko")??!1,{anchorRect:y,openAt:A,close:w}=ur(),[N,k]=l.useState(null),B=l.useCallback(()=>{w(),k(null)},[w]);ld(B,!!N);const S=(o??"").trim(),T=/^[^,[\]\s]+$/.test(S)?S:"",R=T.length>0,M=o===void 0&&t===void 0,I=R?"match":M?"original":"ganada",[E,V]=l.useState(()=>I),[X,G]=l.useState("50"),[q,$]=l.useState(1),[z,K]=l.useState(R);z!==R&&(K(R),V(I));const O=E==="match"&&!R||E==="original"&&!M?I:E,D=l.useMemo(()=>[...R?[{value:"match",label:b("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...M?[{value:"original",label:b("wordSearch.sort.original",{defaultValue:"\uBC1B\uC740 \uC21C\uC11C"})}]:[],{value:"ganada",label:b("wordSearch.sort.ganada",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2191"})},{value:"ganada_desc",label:b("wordSearch.sort.ganadaDesc",{defaultValue:"\uAC00\uB098\uB2E4\uC21C \u2193"})},{value:"syllable",label:b("wordSearch.sort.syllable",{defaultValue:"\uC74C\uC808 \uC218 \u2191"})},{value:"syllable_desc",label:b("wordSearch.sort.syllableDesc",{defaultValue:"\uC74C\uC808 \uC218 \u2193"})},{value:"grade",label:b("wordSearch.sort.grade",{defaultValue:"\uB4F1\uAE09\uC21C \u2191"})},{value:"grade_desc",label:b("wordSearch.sort.gradeDesc",{defaultValue:"\uB4F1\uAE09\uC21C \u2193"})}],[b,R,M]),H=l.useMemo(()=>["10","25","50","100"].map(ke=>({value:ke,label:b("wordSearch.pageSize",{count:Number(ke),defaultValue:`${ke}\uAC1C\uC529 \uBCF4\uAE30`})})),[b]),F=ke=>ke.words?.[0],j=l.useMemo(()=>{const ke=[...T].length,Se=zs(T),Z=new Map;return J=>{let W=Z.get(J);return W===void 0&&(W=Se((J.words?.[0]?.label??"").slice(0,ke))?0:1,Z.set(J,W)),W}},[T]),P=l.useCallback((ke,Se)=>{const Z=ie=>F(ie)?.label??"",J=ie=>F(ie)?.syllables??[...Z(ie)].length,W=ie=>(ie.words??[]).reduce((ee,me)=>{const xe=parseInt(me.grade??"",10);return Number.isFinite(xe)&&xe<ee?xe:ee},999);switch(O){case"match":return j(ke)-j(Se)||kA.compare(Z(ke),Z(Se));case"ganada":return Z(ke).localeCompare(Z(Se),"ko");case"ganada_desc":return Z(Se).localeCompare(Z(ke),"ko");case"syllable":return J(ke)-J(Se)||Z(ke).localeCompare(Z(Se),"ko");case"syllable_desc":return J(Se)-J(ke)||Z(ke).localeCompare(Z(Se),"ko");case"grade":return W(ke)-W(Se)||Z(ke).localeCompare(Z(Se),"ko");case"grade_desc":return W(Se)-W(ke)||Z(ke).localeCompare(Z(Se),"ko");default:return 0}},[O,j]),oe=l.useMemo(()=>n.slice().sort(P),[n,P]),ae=Number(X)||10,se=l.useMemo(()=>(i??[]).flatMap(ke=>ke.items.slice().sort(P).map(Se=>({item:Se,label:ke.label}))),[i,P]),ye=i?se.length:oe.length,ge=Math.max(1,Math.ceil(ye/ae)),De=Math.min(q,ge),ce=l.useMemo(()=>oe.slice((De-1)*ae,De*ae),[oe,De,ae]),Y=l.useMemo(()=>{if(!i)return null;const ke=se.slice((De-1)*ae,De*ae),Se=new Map;for(const{item:Z,label:J}of ke)Se.has(J)||Se.set(J,[]),Se.get(J).push(Z);return[...Se.entries()].map(([Z,J])=>({label:Z,items:J}))},[i,se,De,ae]);l.useEffect(()=>{$(1)},[E,X,ye,o]);const de=ye>0?r.jsxs("div",{className:"word-search-result-block__toolbar",children:[r.jsx(pa,{size:40,options:D,value:O,onChange:V,ariaLabel:b("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),r.jsx(pa,{size:40,options:H,value:X,onChange:G,ariaLabel:b("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),r.jsx(fn,{page:De,totalPages:ge,onChange:$})]}):void 0,fe=ke=>{c&&c(ke)},Ae=t!==void 0&&a?r.jsxs(r.Fragment,{children:[b("wordSearch.resultTitlePrefix","\uCD1D "),r.jsx("span",{style:{color:"var(--color-main)"},children:t}),b("wordSearch.resultTitleSuffix",{unit:_?il(a):a})]}):void 0,Be=t!==void 0&&t>0&&d!==void 0&&a?b("wordSearch.resultDisc",{unit:_?ll(a):a,max:d,selected:s.length}):void 0,Te=v??(C?r.jsxs(r.Fragment,{children:[r.jsx("span",{className:"word-search-result-block__notice",children:C}),Be?r.jsx("span",{className:"word-search-result-block__disc",children:Be}):null]}):Be);return r.jsxs($o,{type:g,icon:e,title:Ae,action:de,disc:Te,className:Ee("word-search-result-block",m),children:[r.jsxs("div",{className:"word-search-result-block__inner",children:[(i?i.length===0:n.length===0)&&r.jsxs("div",{className:"word-search-result-block__empty-wrap",children:[r.jsx("p",{className:"word-search-result-block__empty body-3",children:b("wordSearch.emptyResult","\uAC80\uC0C9 \uACB0\uACFC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}),f&&r.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:f})]}),i?(Y??[]).map(ke=>r.jsx("div",{className:"word-search-result-block__group",children:r.jsx("div",{className:"word-search-result-block__items",children:ke.items.map(Se=>{const Z=s.includes(Se.id);return r.jsx("div",{onMouseEnter:J=>{A(J.currentTarget),k(Se.words??[])},onMouseLeave:B,children:r.jsx(ue,{htmlType:"button",size:"word",align:"grid",label:(Se.words??[]).map(J=>J.label),subLabel:(Se.words??[]).some(J=>J.subLabel)?(Se.words??[]).map(J=>J.subLabel):void 0,selected:Z,onClick:()=>fe(Se.id),minWidth:200})},Se.id)})})},ke.label)):r.jsx("div",{className:"word-search-result-block__items",children:ce.map(ke=>{const Se=s.includes(ke.id);return r.jsx("div",{onMouseEnter:Z=>{A(Z.currentTarget),k(ke.words??[])},onMouseLeave:B,children:r.jsx(ue,{htmlType:"button",size:"word",align:"grid",label:(ke.words??[]).map(Z=>Z.label),subLabel:(ke.words??[]).some(Z=>Z.subLabel)?(ke.words??[]).map(Z=>Z.subLabel):void 0,selected:Se,onClick:()=>fe(ke.id),minWidth:200})},ke.id)})}),N&&y&&r.jsx(Su,{words:N,anchorRect:y})]}),ge>1&&r.jsx("div",{className:"word-search-result-block__pagination-bottom",children:r.jsx(fn,{page:De,totalPages:ge,onChange:$})}),(u||h)&&r.jsxs("div",{className:"word-search-result-block__actions",children:[u&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:b("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:s.length===0,onClick:s.length===0?void 0:u}),h&&r.jsx("div",{onClick:s.length===0?p:void 0,children:r.jsx(ue,{htmlType:"button",size:"56",type:"bar",variant:"main",label:b("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:s.length===0,onClick:s.length===0?void 0:h})})]})]})}var AA='.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}}';ne(AA);function BA(e,t){return t.map(a=>{const o=typeof a=="string"?a:a.label,n=typeof a=="string"?void 0:a.displayLabel;return{label:o,value:e[o]??"",displayLabel:n}})}function Df({sections:e,selectedList:t,count:a,onCountChange:o,maxCount:n=4,minCount:i=1,combinationSections:s,combinationSectionsForSlot:c,onSelect:d,placeholder:u="-",className:h,title:p,titleIcon:m,disc:f,showInfoButton:g=!0,onClearPhoneme:v,onSearch:C,onSearchEmpty:b,searchDisabled:x=!1,searchLabel:_,searchChecking:y=!1,pairMode:A=!1,sectionType:w="page",beforeSearchContent:N,beforeContent:k,afterContent:B,hideCountControl:S=!1,ordinal:T=!1}){const{t:R}=be.useTranslation(),M=l.useMemo(()=>R("wordPairs.infoNotes",{returnObjects:!0}),[R]),I=l.useMemo(()=>Array.from({length:n-i+1},(F,j)=>{const P=i+j;return{key:String(P),label:R("wordPairs.count",{n:P})}}),[R,n,i]),E=l.useMemo(()=>R("wordPairs.ordinals",{returnObjects:!0}),[R]),V=l.useCallback(F=>T?R("wordPairs.phonemeOrdinalLabel",{ordinal:E[F-1]??F}):a===1?R("wordPairs.phonemeSingleLabel","\uC74C\uC808"):R("wordPairs.phonemeN",{n:F}),[T,E,a,R]),X=l.useCallback(F=>T?R("wordPairs.phonemeContrastOrdinalLabel",{ordinal:E[F-1]??F}):a===1?R("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):R("wordPairs.phonemeContrast",{n:F}),[T,E,a,R]),G=l.useCallback((F,j)=>j?r.jsxs(r.Fragment,{children:[F,r.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):F,[]),{anchorRect:q,toggleAt:$,close:z}=ur(),K=l.useCallback(F=>o(Number(F)),[o]),O=na("(max-width: 767px)"),D=l.useCallback(F=>BA(F,e).map(({label:j,value:P,displayLabel:oe})=>{const ae=!!P&&P!=="\uC5C6\uC74C";return r.jsxs("span",{className:Ee("phoneme-select-block__cell-jamo-part",P?"":"phoneme-select-block__cell-jamo-part--empty",ae?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[r.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${P==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:P==="\uC5C6\uC74C"?"x":P||u}),ae&&r.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:oe??j})]},j)}),[e,u]),H=r.jsxs(r.Fragment,{children:[r.jsx("div",{"data-tooltip-ignore":!0,children:r.jsx(ue,{htmlType:"button",size:40,type:O?"dot":void 0,icon:"info",label:O?void 0:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:q?"is-selected":void 0,"aria-expanded":!!q,"aria-haspopup":"dialog",onClick:F=>$(F.currentTarget)})}),q&&r.jsx(po,{title:R("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:M,anchorRect:q,onClose:z})]});return r.jsxs($o,{type:w,title:p,icon:m,disc:f,action:g?H:void 0,className:Ee("phoneme-select-block",h),children:[k,!S&&r.jsx("div",{className:"phoneme-select-block__controls",children:r.jsx(bo,{options:I,value:String(a),onChange:K,size:40,className:"phoneme-select-block__count-control"})}),r.jsx("div",{className:"phoneme-select-block__cells",children:A?r.jsxs(r.Fragment,{children:[r.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2]??{};return r.jsxs("div",{className:"phoneme-select-block__cell",children:[r.jsx("div",{className:"phoneme-select-block__cell-circle",children:r.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(P)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:V(j+1)})]},j)})}),r.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:R("wordPairs.phonemeSelect.vs","\uB300")}),r.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2+1]??{};return r.jsxs("div",{className:"phoneme-select-block__cell",children:[r.jsx("div",{className:"phoneme-select-block__cell-circle",children:r.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(P)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:X(j+1)})]},j)})})]}):t.map((F,j)=>r.jsxs("div",{className:"phoneme-select-block__cell",children:[r.jsx("div",{className:"phoneme-select-block__cell-circle",children:r.jsx("div",{className:"phoneme-select-block__cell-jamo",children:D(F)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:V(j+1)})]},j))}),(s||c)&&r.jsx("div",{className:"phoneme-select-block__panels",children:r.jsx("div",{className:"phoneme-select-block__detail",children:A?r.jsxs("div",{className:"phoneme-select-block__pair-panels",children:[r.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2]??{};return r.jsx(La,{title:G(V(j+1),j===0),sections:c?c(P,j*2):s,selected:P,onSelect:d?.(j*2),align:"newline"},j)})}),r.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((F,j)=>{const P=t[j*2+1]??{};return r.jsx(La,{title:X(j+1),sections:c?c(P,j*2+1):s,selected:P,onSelect:d?.(j*2+1),align:"newline"},j)})})]}):t.map((F,j)=>r.jsx(La,{title:G(V(j+1),j===0),sections:c?c(F,j):s,selected:F,onSelect:d?.(j),align:"newline"},j))})}),N&&r.jsx("div",{className:"phoneme-select-block__before-search",children:N}),(v||C||y)&&(()=>{const F=t.every(j=>Object.entries(j).every(([P,oe])=>!oe||P==="\uC885\uC131"&&oe==="\uC5C6\uC74C"));return r.jsxs("div",{className:"phoneme-select-block__search-row",onClick:F?b:void 0,children:[v&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:R("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:F,onClick:F?void 0:v}),C?r.jsx(ue,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:y?r.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:F||x||y,onDisabledClick:y?()=>{}:void 0,"aria-busy":y||void 0,onClick:C}):y?r.jsxs("div",{className:"phoneme-select-block__checking","aria-busy":"true",children:[r.jsx("div",{className:"phoneme-select-block__spinner"}),r.jsx("span",{className:"button-1 phoneme-select-block__checking-label",children:_??R("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),B]})}function Tf({title:e,sections:t,selected:a,onSelect:o,className:n}){const{t:i}=be.useTranslation();return r.jsx(La,{className:n,title:e??i("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:o,align:"inline"})}function jf({title:e,headerAction:t,sections:a,selected:o,onSelect:n,className:i}){const{t:s}=be.useTranslation();return a.length===0?null:r.jsx(La,{className:i,title:e??s("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:o,onSelect:n,align:"newline"})}function Lf({title:e,mode:t,onModeChange:a,matchMode:o,onMatchModeChange:n,positionCount:i,onPositionCountChange:s,inputMode:c,onInputModeChange:d,className:u}){const{t:h}=be.useTranslation(),p={searchMode:h("wordPairs.filter.searchModeLabel","\uB300\uB9BD \uBC29\uC2DD"),phonemeOrder:h("wordPairs.filter.phonemeOrder","\uC785\uB825 \uC74C\uC808 \uC704\uCE58"),count:h("wordPairs.filter.countLabel","\uC785\uB825 \uC74C\uC808 \uAC2F\uC218"),inputMode:h("wordPairs.filter.inputModeLabel","\uC785\uB825 \uBC29\uC2DD"),orderAny:h("wordPairs.filter.orderAny","\uBB34\uAD00"),orderMatch:h("wordPairs.filter.orderMatch","\uC77C\uCE58"),include:h("wordPairs.mode.include","\uC74C\uC18C \uD3EC\uD568"),pick:h("wordPairs.mode.pick","\uC74C\uC18C \uB300\uB9BD"),explicit:h("wordPairs.mode.contrast","\uC74C\uC18C \uB300\uB9BD \uC9C0\uC815"),charInput:h("wordPairs.input.char","\uAE00\uC790 \uC120\uD0DD"),pronInput:h("wordPairs.input.pron","\uBC1C\uC74C \uC120\uD0DD")},m=C=>h("wordPairs.count",{n:C}),f=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:r.jsx(hr,{title:h("wordPairs.mode.infoTitle","\uB300\uB9BD \uBC29\uC2DD"),items:[h("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."),h("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."),h("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:p.phonemeOrder,items:[p.orderAny,p.orderMatch],display:"segmented",labelAction:r.jsx(hr,{items:h("wordPairs.filter.phonemeOrderInfo",{returnObjects:!0})})},{label:p.count,items:[m(1),m(2)],display:"segmented"},{label:p.inputMode,items:[p.charInput,p.pronInput],display:"segmented",labelAction:r.jsx(hr,{title:h("wordPairs.input.infoTitle","\uC785\uB825 \uBC29\uC2DD"),items:[h("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."),h("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.")]})}],g={[p.searchMode]:t==="explicit"?p.explicit:t==="pick"?p.pick:p.include,[p.phonemeOrder]:o==="ordered"?p.orderMatch:p.orderAny,[p.count]:m(i),[p.inputMode]:c==="phoneme"?p.pronInput:p.charInput},v=(C,b)=>{b===p.searchMode?a(C===p.explicit?"explicit":C===p.pick?"pick":"include"):b===p.phonemeOrder?n(C===p.orderMatch?"ordered":"unordered"):b===p.count?s(C===m(2)?2:1):b===p.inputMode&&d(C===p.pronInput?"phoneme":"word")};return r.jsx(La,{className:u,title:e??h("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:f,selected:g,onSelect:v,align:"inline"})}var SA=".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}";ne(SA);function Mf(e){const{title:t,items:a,columns:o,gridTemplateColumns:n,searchPlaceholder:i,searchFn:s,defaultSortKey:c,defaultSortAsc:d=!0,selectedId:u,selectedIds:h,onSelect:p,onClose:m,pageSizeOptions:f=[10,25,50,100],initialPageSize:g,emptyText:v,countLabel:C,topContent:b,className:x=""}=e,{t:_}=be.useTranslation(),y=i??_("common.search","\uAC80\uC0C9"),A=v??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),[w,N]=l.useState(""),[k,B]=l.useState(c??o[0]?.key??""),[S,T]=l.useState(d),[R,M]=l.useState(String(g??f[0]??10)),[I,E]=l.useState(1);l.useEffect(()=>{E(1)},[w,R]);const V=s!==null,X=l.useCallback((j,P)=>{if(!P)return!0;const oe=P.toLowerCase();return o.some(ae=>{const se=j[ae.key];return se==null?!1:String(se).toLowerCase().includes(oe)})},[o]),G=s??X,q=l.useMemo(()=>{const j=V?a.filter(P=>G(P,w)):a;return k?[...j].sort((P,oe)=>{const ae=P[k],se=oe[k];return ae===se?0:Fc(ae,se,S)}):j},[a,w,k,S,V,G]),$=Math.max(1,Math.ceil(q.length/Number(R)));I>$&&E($);const z=Math.min(I,$),K=q.slice((z-1)*Number(R),z*Number(R)),O=l.useCallback(j=>{k===j?T(P=>!P):(B(j),T(!0)),E(1)},[k]),D=l.useMemo(()=>{if(typeof C=="function"){const j=q.length,P=C(j);if(typeof P=="string"){const oe=P.lastIndexOf(String(j));if(oe>=0)return{prefix:P.slice(0,oe),suffix:P.slice(oe+String(j).length)}}return{label:P}}if(typeof C=="string"&&C.includes("{n}")){const[j,P]=C.split("{n}");return{prefix:j,suffix:P}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[C,q.length,_]),H=l.useMemo(()=>o.map(j=>({label:j.label,onClick:j.sortable!==!1?()=>O(j.key):void 0,className:j.className,sortDir:j.sortable!==!1&&k===j.key?S?"asc":"desc":null})),[o,k,S,O]),F=l.useMemo(()=>f.map(j=>({value:String(j),label:_("common.pageSizeLabel",{n:j})})),[f,_]);return r.jsxs(Ka,{className:`popup-list ${x}`,title:t,onClose:m,children:[b,"label"in D&&r.jsx("p",{className:"toolbar__count body-1",children:D.label}),r.jsx(_i,{count:"label"in D?void 0:{value:q.length,prefix:D.prefix,suffix:D.suffix},search:V?{value:w,onChange:N,placeholder:y}:void 0,pageSize:{options:F,value:R,onChange:M},pagination:{page:z,total:$,onChange:E}}),r.jsx(Ni,{size:"medium",gridTemplateColumns:n,resizable:!0,fields:H,items:K,onRowClick:p,renderRow:j=>{const P=h!=null?j.id!=null&&h.has(j.id):u!=null&&j.id===u;return o.map(oe=>({content:oe.render?oe.render(j):j[oe.key]??"",className:Ee(oe.className,P&&"popup-list__row--selected")}))},empty:A})]})}function $f(e){const{title:t,message:a,topContent:o,details:n,children:i,confirmLabel:s,cancelLabel:c,hideCancel:d=!1,extraAction:u,confirmVariant:h="main",confirmDisabled:p=!1,onConfirm:m,closeOnConfirm:f=!0,onClose:g,inline:v,size:C="small",className:b,initialFocus:x="close"}=e,{t:_}=be.useTranslation(),y=l.useRef(null);l.useEffect(()=>{if(v||x==="close")return;const S=y.current?.closest(".popup-panel"),T=Array.from(S?.querySelectorAll(".popup-footer--buttons button")??[]),R=x==="confirm"?T[T.length-1]:d?void 0:T[u?1:0];R&&!R.disabled&&R.focus()},[]);const A=l.useRef(!1),[w,N]=l.useState(!1),k=S=>{let T=!1;return{close:()=>{T=!0,S()},\uB2EB\uC558\uB098:()=>T}},B=async S=>{if(A.current)return;A.current=!0;const T=typeof document<"u"?document.activeElement:null;N(!0);let R=!1;try{R=await S()}catch(M){typeof console<"u"&&console.error(M)}finally{R||(A.current=!1,N(!1),requestAnimationFrame(()=>{const M=document.activeElement;(!M||M===document.body)&&T?.isConnected&&T.focus()}))}};return r.jsxs(Ka,{title:t,onClose:g,closeDisabled:w,inline:v,size:C,className:Ee("confirm-popup",b),buttons:[...u?[{label:u.label,variant:u.variant??"default",disabled:u.disabled||w,onClick:async({closeWithAnimation:S})=>{await B(async()=>{const T=k(S);await u.onClick(T.close);const R=u.closeOnClick??!0;return R&&S(),R||T.\uB2EB\uC558\uB098()})}}]:[],...d?[]:[{label:c??_("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:w,onClick:({closeWithAnimation:S})=>S()}],{label:s??_("common.confirm","\uD655\uC778"),variant:h,disabled:p||w,onClick:async({closeWithAnimation:S})=>{await B(async()=>{const T=k(S);return await m(T.close),f&&S(),f||T.\uB2EB\uC558\uB098()})}}],children:[o!=null&&r.jsx("div",{className:"confirm-popup__top",children:o}),n&&n.length>0&&r.jsx(_n,{children:n.map((S,T)=>r.jsx(Za,{label:S.label,children:r.jsx("span",{className:"panel-row__text body-2",children:S.value})},T))}),r.jsx("p",{ref:y,className:"body-2 confirm-popup__message",children:a}),i]})}var NA=".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}";ne(NA);function Rf({onApply:e,onCancel:t}){const{t:a}=be.useTranslation(),[o,n]=l.useState(""),[i,s]=l.useState(!1),[c,d]=l.useState(null),u=l.useRef(null);l.useEffect(()=>{u.current?.focus()},[]);const h=l.useCallback(async f=>{const g=o.trim();if(g){s(!0),d(null);try{await e(g),f()}catch(v){d(qr(v)),s(!1),requestAnimationFrame(()=>u.current?.focus())}}},[o,e]),p=l.useCallback((f,g)=>{f.key==="Enter"&&!f.nativeEvent.isComposing&&h(g)},[h]),m=f=>{n(f.target.value),d(null)};return r.jsx(Ka,{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:f})=>f()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!o.trim()||i,onClick:({closeWithAnimation:f})=>{h(f)}}],children:({closeWithAnimation:f})=>r.jsxs(r.Fragment,{children:[r.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:o,onChange:m,onKeyDown:g=>p(g,f),disabled:i,autoComplete:"off",spellCheck:!1}),c&&r.jsx("p",{className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var EA=".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}";ne(EA);const Pf=200;function DA(e){return e.itemId?(Wl()[e.trainingType]??[]).find(t=>t?.id!=null&&String(t.id)===String(e.itemId))??null:null}function zf({plan:e,anchorRect:t,offset:a=12,onClose:o}){const{t:n}=be.useTranslation(),i=l.useMemo(()=>um(n).map(c=>({type:c,items:(e.items??[]).filter(d=>d.trainingType===c.key)})).filter(c=>c.items.length>0),[e.items,n]);if(i.length===0)return null;const s=r.jsx("div",{className:"tooltip-training__box",children:r.jsx("div",{className:"tooltip-training__groups",children:i.flatMap(({type:c,items:d},u)=>[u>0?r.jsx("div",{className:"tooltip-training__divider"},`div-${c.key}`):null,r.jsxs("div",{className:"tooltip-training__section",children:[r.jsx("div",{className:"tooltip-training__section-header",children:r.jsx("span",{className:"tooltip-training__type-label body-3b",children:c.label})}),r.jsx("div",{className:"tooltip-training__items",children:d.map((h,p)=>{const m=DA(h);return m?r.jsx(Ti,{index:p,type:c,trainingData:m,size:"compact",hideCheckBadge:!0},h.itemId??p):null})})]},c.key)])})});return t?r.jsx(Ua,{anchorRect:t,offset:a,onClose:o,closeOnOutsideClick:!1,className:"tooltip-training",ariaLabel:n("tooltip.training","\uD6C8\uB828 \uC548\uB0B4"),children:s}):s}var TA=".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}";ne(TA);const If=["var(--color-main)","var(--color-sub)"],jA=2e3;function LA(e,t){if(!t.startsWith("var("))return t;try{const a=t.slice(4,-1).trim();return getComputedStyle(e).getPropertyValue(a).trim()||null}catch{return null}}function Ji({active:e=!1,count:t=40,duration:a=2e3,strength:o=1,onComplete:n,trigger:i=0}){const s=l.useMemo(()=>{const v=Math.floor(t/2),C=t-v,b=(x,_)=>Array.from({length:x}).map((y,A)=>{const w=6+Math.random()*12,N=Math.round(Math.min(18,w*Math.min(1.5,1+o*.4))),k=If[Math.floor(Math.random()*If.length)],B=Math.random()*300,S=(360+Math.random()*260)*o*1.2,T=(_==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,R=Math.cos(T)*S,M=Math.sin(T)*S*1.35,I=Math.random()*720-360,E=(1200+Math.random()*3e3)*Math.min(1.6,1+o*.3),V=Math.random()>.7?"50%":"3px";return{id:`${_}-${A}`,side:_,size:N,color:k,delay:B,vx:R,vy:M,angularVel:I,life:E,borderRadius:V}});return[...b(v,"left"),...b(C,"right")]},[t,o]),c=l.useRef(null),d=l.useRef({}),u=l.useRef(null),h=l.useRef(n);l.useEffect(()=>{h.current=n},[n]);const p=l.useRef(null),m=l.useRef(null),f=()=>{if(typeof document>"u")return null;let v=document.querySelector("[data-ihab-effect-root]");return v||(v=document.createElement("div"),v.className="app-effect",v.dataset.ihabEffectRoot="",v.style.position="fixed",v.style.inset="0",v.style.pointerEvents="none",v.style.zIndex="99998",document.body.appendChild(v)),v};if(typeof document<"u"&&m.current==null&&(m.current=f()),l.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const z=setTimeout(()=>h.current?.(),0);return()=>clearTimeout(z)}const v=1200,C=performance.now(),b=m.current&&m.current!==document.body?m.current.getBoundingClientRect():null,x=Math.max(60,(window.innerHeight||800)*.05),_=z=>Math.max(40,(z||window.innerWidth)*.02),y=b?.width||window.innerWidth||375,A=b?.height||window.innerHeight||812,w=z=>{const K=[...z].sort((O,D)=>O-D);return K[Math.floor(K.length/2)]||1},N=w(s.map(z=>Math.abs(z.vy))),k=w(s.map(z=>Math.abs(z.vx))),B=Math.sqrt(2*v*(A*.72+x))/N,S=N*B/v,T=y*.5/(k*S),R=(z,K,O)=>Math.min(O,Math.max(K,z)),M=R(B,.8,2.4),I=R(T,.7,2.2),E=a>0?a/jA:1,V=s.map(z=>({...z,life:z.life*E,vx:z.vx*I,vy:z.vy*M,startTime:C+z.delay,ended:!1})),X=b?{x:b.left-_(b.width),y:b.top+b.height+x}:{x:-_(window.innerWidth),y:window.innerHeight+x},G=b?{x:b.left+b.width+_(b.width),y:b.top+b.height+x}:{x:window.innerWidth+_(window.innerWidth),y:window.innerHeight+x},q=z=>{let K=!1;for(const O of V){const D=d.current[O.id];if(!D||!D)continue;if(z<O.startTime){D.style.display="none",K=!0;continue}if(!O._inited){const De=O.side==="left"?X.x:G.x,ce=O.side==="left"?X.y:G.y;D.style.left=`${De}px`,D.style.top=`${ce}px`,D.style.transform="translate3d(0px, 0px, 0)",D.style.display="block",D.style.zIndex="100000",typeof O.color=="string"&&O.color.startsWith("var(")&&(D.style.background=LA(D,O.color)??"#FF0060"),O._inited=!0}const H=(z-O.startTime)/1e3;if(H<0)continue;const F=O.life/1e3;if(H>=F){D.style.opacity="0",D.style.display="none",O.ended=!0;continue}K=!0;const j=O.side==="left"?X.x:G.x,P=O.side==="left"?X.y:G.y,oe=j+O.vx*H,ae=P+O.vy*H+.5*v*H*H,se=(O.angularVel||0)*H,ye=oe-j,ge=ae-P;D.style.transform=`translate3d(${ye}px, ${ge}px, 0) rotate(${se}deg)`,D.style.opacity=`${Math.max(0,1-H/F)}`}K?u.current=requestAnimationFrame(q):h.current?.()};u.current=requestAnimationFrame(q);const $=setTimeout(()=>{try{if((m.current?m.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const z=document.createElement("div");z.className="party-container",z.style.position="fixed",z.style.inset="0",z.style.pointerEvents="none",z.style.overflow="visible",z.style.zIndex="2147483647";for(const K of s){const O=document.createElement("span");O.className=`confetti confetti--${K.side}`,O.setAttribute("aria-hidden","true"),O.style.display="none",O.style.position="fixed",O.style.left="0px",O.style.top="0px",O.style.width=`${K.size}px`,O.style.height=`${Math.max(4,K.size*.6)}px`,O.style.background=K.color,O.style.borderRadius=K.borderRadius,O.style.transform="translate3d(0,0,0)",O.style.opacity="0",z.appendChild(O),d.current[K.id]=O}(document.body||m.current).appendChild(z),p.current=z}}catch{}},300);return()=>{if(u.current&&cancelAnimationFrame(u.current),clearTimeout($),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,i,s]),!e)return null;const g=r.jsx("div",{className:"party-container",ref:c,children:s.map(v=>r.jsx("span",{"aria-hidden":!0,ref:C=>{d.current[v.id]=C},className:`confetti confetti--${v.side}`,style:{width:`${v.size}px`,height:`${Math.max(4,v.size*.6)}px`,background:v.color,borderRadius:v.borderRadius}},`${v.id}-${i}`))});return typeof document<"u"?ta.createPortal(g,m.current||document.body):g}const Nu=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function Of({trigger:e=0,active:t=!1}){const[a,o]=l.useState(null);l.useEffect(()=>{if(typeof window>"u")return;const i=s=>{const c=s.detail??{};o(d=>({n:(d?.n??0)+1,count:Nu(c.count),strength:Nu(c.strength),duration:Nu(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const n=l.useCallback(()=>o(null),[]);return r.jsxs(r.Fragment,{children:[r.jsx(Ji,{active:t,trigger:e}),a&&r.jsx(Ji,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:n})]})}var MA=".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}.ihabdevteam-core-scope .page-title--wrap{flex-wrap:wrap}.ihabdevteam-core-scope .page-title--wrap .page-title__main{min-width:min(320px,100%)}";ne(MA);function Ff({title:e,sub:t,rightAction:a,titleAction:o,badge:n,badgeVariant:i="default",documentTitle:s,onBack:c,backLabel:d,wrap:u=!1}){const{t:h}=be.useTranslation();zc(typeof e=="string"?e:s??null);const p=d??h("common.back","\uB4A4\uB85C");return r.jsxs("div",{className:u?"page-title page-title--wrap":"page-title",children:[r.jsxs("div",{className:"page-title__main",children:[r.jsxs("div",{className:"page-title__title-row",children:[c&&r.jsx(ue,{htmlType:"button",className:"page-title__back",size:48,type:"dot",icon:"chevron-left",iconSize:"large",useBorder:!1,iconColor:"var(--color-text-primary)",ariaLabel:p,showTooltipInfo:p,onClick:c}),r.jsx("h1",{className:"page-title__title h1",children:e}),n&&r.jsx("div",{className:"page-title__badge",children:r.jsx(gt,{label:n,size:"small",variant:i,fill:"outline"})}),o?r.jsx("div",{className:"page-title__title-action",children:o}):null]}),t&&r.jsx("p",{className:"page-title__sub body-2",children:t})]}),a?r.jsx("div",{className:"page-title__action",children:a}):null]})}function Vf(e){return e??""}const Hf=l.createContext({words:[],loading:!1});function Wf(){return l.useContext(Hf)}function Gf({words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d,children:u}){return r.jsx(Hf.Provider,{value:{words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:s,clearAndRefetch:c,checkRemoteVersion:d},children:u})}var $A=".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)}";ne($A);function Uf({items:e,actions:t,columns:a,flat:o=!1,className:n,style:i}){const s=a??e.length;return r.jsx("section",{className:Ee("summary-strip",o&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(s),...i},children:r.jsxs("div",{className:"summary-strip__row",children:[r.jsx("div",{className:"summary-strip__items",children:e.map((c,d)=>r.jsxs("div",{className:"summary-strip__item",children:[r.jsx("p",{className:"summary-strip__label caption-1",children:c.label}),r.jsx("p",{className:"summary-strip__value body-3b",title:typeof c.value=="string"||typeof c.value=="number"?String(c.value):void 0,children:c.value})]},d))}),t&&r.jsx("div",{className:"summary-strip__actions",children:t})]})})}var RA='.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}.ihabdevteam-core-scope .report-doc__measure{height:0;overflow:hidden}.ihabdevteam-core-scope .report-doc__measure>*{flex-shrink:0}}';ne(RA);const PA=(e,t)=>`${e} / ${t}`;function qf({blocks:e,sectionTitles:t,logo:a,footer:o,pageLabel:n=PA,pageWidth:i,pageHeight:s,margin:c,className:d,style:u}){const{t:h}=be.useTranslation(),p=l.useRef(null),m=l.useRef(null),f=l.useRef(null),g=l.useRef(null),[v,C]=l.useState(null),[b,x]=l.useState(!1);l.useEffect(()=>{const E=p.current;if(!E)return;const V=()=>x(E.scrollWidth>E.clientWidth+1);if(V(),typeof ResizeObserver>"u")return;const X=new ResizeObserver(V);return X.observe(E),()=>X.disconnect()},[v]);const _=e.map(E=>`${E.id}\0${E.section??""}\0${E.group??""}`).join(""),y=v&&v.shape===_?v.pages:null,[A,w]=l.useState(0);l.useEffect(()=>{const E=g.current;if(!E||typeof ResizeObserver>"u")return;const V=new ResizeObserver(()=>w(E.offsetHeight));return V.observe(E),()=>V.disconnect()},[]);const[N,k]=l.useState(0);l.useEffect(()=>{const E=m.current;if(!E||typeof ResizeObserver>"u")return;let V=null;const X=typeof requestAnimationFrame=="function"?$=>requestAnimationFrame($):$=>setTimeout($,16),G=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:$=>clearTimeout($),q=new ResizeObserver(()=>{V==null&&(V=X(()=>{V=null,k($=>$+1)}))});return Array.from(E.children).forEach($=>q.observe($)),()=>{q.disconnect(),V!=null&&G(V)}},[_]),l.useLayoutEffect(()=>{const E=m.current,V=g.current;if(!E||!V)return;const X=F=>F.getBoundingClientRect().height||F.offsetHeight,G=new Map;f.current?.querySelectorAll("[data-chrome-section]").forEach(F=>{G.set(F.dataset.chromeSection??"",X(F))});const q=F=>X(V)-(G.get(F??"")??0),$=Array.from(E.children).map(F=>X(F)),z=[];e.forEach((F,j)=>{const P=z[z.length-1],oe=P?e[P[0]]:void 0;oe&&F.group!=null&&oe.group===F.group&&oe.section===F.section?P.push(j):z.push([j])});const K=[];let O=[],D=0;const H=()=>{O.length&&K.push(O),O=[],D=0};z.forEach(F=>{const j=F.reduce((oe,ae)=>oe+$[ae],0),P=q(e[F[0]].section);O.length&&e[O[0]].section!==e[F[0]].section&&H(),j>P?F.forEach(oe=>{O.length&&D+$[oe]>P+.01&&H(),O.push(oe),D+=$[oe]}):(O.length&&D+j>P+.01&&H(),F.forEach(oe=>O.push(oe)),D+=j)}),H(),C(F=>F&&F.shape===_&&JSON.stringify(F.pages)===JSON.stringify(K)?F:{shape:_,pages:K})},[_,A,i,s,c,N]);const B=Cd,S=B,T=o??r.jsxs(r.Fragment,{children:[r.jsx("img",{src:S,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),R=(E,V,X)=>({header:r.jsxs("div",{className:"report-doc__header",children:[r.jsx("h2",{className:"report-doc__title h3b",children:X!=null&&t?.[X]||null}),a]}),footer:r.jsxs("div",{className:"report-doc__footer caption-1",children:[r.jsx("span",{className:"report-doc__footer-left",children:T}),r.jsx("span",{className:"report-doc__page-no",children:n(E,V)})]})}),M=Array.from(new Set(e.map(E=>E.section??""))),I={...i?{"--report-page-w":i}:null,...s?{"--report-page-h":s}:null,...c?{"--report-margin":c}:null,...u};return r.jsxs("div",{ref:p,className:Ee("report-doc",d),style:I,tabIndex:b?0:void 0,role:b?"group":void 0,"aria-label":b?h("report.previewRegion","\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30"):void 0,children:[r.jsxs("div",{className:"report-doc__measure","aria-hidden":!0,children:[r.jsx("div",{ref:g,className:"report-doc__ruler"}),r.jsx("div",{ref:f,children:M.map(E=>{const V=R(1,1,E||void 0);return r.jsxs("div",{"data-chrome-section":E,children:[V.header,V.footer]},E)})}),r.jsx("div",{ref:m,className:"report-doc__measure-blocks",children:e.map(E=>r.jsx("div",{children:E.content},E.id))})]}),y&&r.jsx("div",{className:"report-doc__pages",children:y.map((E,V)=>{const{header:X,footer:G}=R(V+1,y.length,e[E[0]].section);return r.jsxs("section",{className:"report-doc__page",children:[X,E.map(q=>r.jsx("div",{children:e[q].content},e[q].id)),G]},V)})})]})}var zA=".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}";ne(zA);function Yf({title:e,fields:t,columns:a=4,className:o,style:n}){return r.jsxs("div",{className:Ee("report-info",o),style:{"--report-info-cols":String(a),...n},children:[e&&r.jsx("p",{className:"report-info__title h5b",children:e}),r.jsx("div",{className:"report-info__grid",children:t.map((i,s)=>r.jsxs("div",{className:"report-info__field body-2",children:[r.jsx("span",{className:"report-info__label body-3",children:i.label}),r.jsx("span",{className:"report-info__value",children:i.value})]},s))})]})}const Io=new Map;let Qi=null;const IA=12;function OA(e){for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){const a=window.getComputedStyle(t);if(a.transform&&a.transform!=="none"||a.filter&&a.filter!=="none"||a.perspective&&a.perspective!=="none"||/paint|layout|strict|content/.test(a.contain||""))return t}return document}function es(){const e=new Map;for(const t of Io.keys()){if(!t.isConnected)continue;const a=OA(t),o=e.get(a)??[];o.push(t),e.set(a,o)}for(const t of e.values()){t.sort((o,n)=>o.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);let a=0;for(const o of t){a>0?o.style.setProperty("--update-alert-stack-offset",`${a}px`):o.style.removeProperty("--update-alert-stack-offset");const n=o.getBoundingClientRect().height;n>0&&(a+=n+IA)}}}function FA(e){return typeof window>"u"?()=>{}:(Io.set(e,(Io.get(e)??0)+1),Io.get(e)===1&&typeof ResizeObserver<"u"&&(Qi??(Qi=new ResizeObserver(()=>es())),Qi.observe(e)),es(),()=>{const t=(Io.get(e)??1)-1;if(t>0){Io.set(e,t),es();return}Io.delete(e),Qi?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),es()})}var VA=".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;top:calc(16px + var(--update-alert-stack-offset, 0px));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;top:auto;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%}";ne(VA);function Kf({title:e,message:t,actionLabel:a,onAction:o,icon:n,onClose:i,className:s=""}){const{t:c}=be.useTranslation(),d=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),u=l.useRef(null),h=l.useRef(!1);return l.useLayoutEffect(()=>{const p=u.current,m=p?.parentElement?.closest(".update-alert-stack")??p,f=m?FA(m):null;return()=>{f?.(),h.current&&p&&p.contains(document.activeElement)&&ri(p)}},[]),r.jsxs("div",{ref:u,className:Ee("update-alert",s),role:"alert",children:[i&&r.jsx("button",{type:"button",className:"update-alert__close",onClick:()=>{h.current=!0,i()},"aria-label":c("common.close","\uB2EB\uAE30"),children:"\xD7"}),r.jsxs("div",{className:"update-alert__top",children:[r.jsx("div",{className:"update-alert__icon",children:n??r.jsx(Uu,{size:20,strokeWidth:2})}),r.jsxs("div",{className:"update-alert__body",children:[r.jsx("div",{className:"update-alert__title h4",children:e}),r.jsx("div",{className:"update-alert__message body-3",children:t})]})]}),o&&r.jsx(ue,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:o,children:d})]})}var HA=".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}";ne(HA);function Zf({title:e,description:t,topActions:a,children:o,footerLeft:n,footerRight:i,onClick:s,draggable:c,onDragStart:d,onDragEnd:u,className:h}){const p=n!=null||i!=null,m=o!=null&&o!==!1,f=l.useCallback(g=>{s&&g.target===g.currentTarget&&(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),s())},[s]);return r.jsxs("div",{className:Ee("training-card",s?"training-card--clickable":"",h),onClick:s,onKeyDown:s?f:void 0,role:s?"button":void 0,tabIndex:s?0:void 0,draggable:c,onDragStart:d,onDragEnd:u,children:[r.jsxs("div",{className:"training-card__header",children:[r.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?r.jsx("h3",{className:"training-card__title h4",children:e}):e,a!=null&&r.jsx("div",{className:"training-card__top-actions",onClick:g=>g.stopPropagation(),children:a})]}),t!=null?typeof t=="string"?r.jsx("p",{className:"training-card__description body-3",children:t}):t:r.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),m&&r.jsx("div",{className:"training-card__body",children:o}),p&&r.jsxs("div",{className:"training-card__footer",children:[n!=null&&r.jsx("div",{className:"training-card__footer-left",children:n}),i!=null&&r.jsx("div",{className:"training-card__meta",children:i})]})]})}var WA=".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}";ne(WA);function Xf({title:e,count:t,collapsed:a=!1,onToggle:o,sort:n,actions:i,empty:s=!1,emptyContent:c,dragOver:d=!1,onDragOver:u,onDragLeave:h,onDrop:p,children:m,className:f}){const{t:g}=be.useTranslation(),v=o!=null,C=Ee("training-card-group",d&&"training-card-group--dragover",a&&"training-card-group--collapsed",v&&"training-card-group--collapsible",f);return r.jsxs("div",{className:C,onDragOver:u,onDragLeave:h,onDrop:p,children:[r.jsxs("header",{className:"training-card-group__header",children:[v&&r.jsx(ue,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:a?"chevron-right":"chevron-down",ariaLabel:a?g("common.expand","\uD3BC\uCE58\uAE30"):g("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!a,onClick:o}),typeof e=="string"?r.jsx("span",{className:"training-card-group__title h5b",children:e}):e,t!==void 0&&r.jsx("span",{className:"training-card-group__count body-3b",children:t}),(n||i!=null)&&r.jsxs("span",{className:"training-card-group__actions",onClick:b=>b.stopPropagation(),children:[n&&r.jsx(pa,{size:40,options:n.options,value:n.value,placeholder:n.placeholder,onChange:n.onChange}),i]})]}),!a&&(s?r.jsx("div",{className:"training-card-group__empty body-3",children:c}):r.jsx("div",{className:"training-card-group__grid",children:m}))]})}var GA=".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}}";ne(GA);const UA="speechear:saved_word_tables";function qA(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 YA(){try{const e=localStorage.getItem(UA);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(qA):[]}catch{return[]}}function Jf(e){return{label:e.word,subLabel:e.pronunciation,colloquialLabel:e.colloquialPronunciation,homonum:e.homonum,grade:e.grade,syllables:[...e.word].length,pos:e.pos,wordType:e.wordType}}function Eu(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function KA(e){const t=new Set;return e.map(a=>{let o=a.id;for(let n=2;t.has(o);n++)o=`${a.id}~${n}`;return t.add(o),o===a.id?a:{...a,id:o}})}function Qf({title:e,titleIcon:t,disc:a,items:o,onSaveComplete:n,onLoad:i,onRemoveItem:s,onReset:c,resetLabel:d,saveButtonLabel:u,secondarySaveButtonLabel:h,onReorder:p,showCellCount:m,onAddItem:f,className:g,renderSavePopup:v,renderWordSearch:C,hideControls:b,saveOnly:x,tableName:_,nameValue:y,onNameChange:A,descriptionValue:w,onDescriptionChange:N,namePlaceholder:k,descriptionPlaceholder:B,existingNames:S,editingName:T,onCancel:R}){const{t:M}=be.useTranslation(),I=d??M("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),E=o===void 0,V=!!A,[X,G]=l.useState([]),q=(y??"").trim(),$=q||(k??"").trim(),z=(w??"").trim()||(B??"").trim(),K=(S??[]).map(Ne=>Ne.trim().toLowerCase()),O=[T?.trim().toLowerCase(),...X].filter(Ne=>!!Ne),D=[...K];for(const Ne of O){const ze=D.indexOf(Ne);ze!==-1&&D.splice(ze,1)}const H=q!==""&&D.includes(q.toLowerCase()),[F,j]=l.useState(Array(4).fill(null)),[P,oe]=l.useState(4),[ae,se]=l.useState(null),ye=F.slice(0,P),[ge,De]=l.useState("landscape"),[ce,Y]=l.useState(["\uC774\uBBF8\uC9C0","\uB2E8\uC5B4","\uD45C\uC900 \uBC1C\uC74C"]),[de,fe]=l.useState("\uD45C\uC2DC"),[Ae,Be]=l.useState(!0),[Te,ke]=l.useState(!0),Se=l.useRef(null),Z=l.useRef([]),[J,W]=l.useState(8),[ie,ee]=l.useState("right"),[me,xe]=l.useState(!1),[qe,Ve]=l.useState(!1),{toastMessage:He,toastType:je,showWarning:Ge,clearToast:$e}=vi("warning"),Ie=l.useCallback(()=>se(null),[se]);f&&!E&&!m&&yo("word-table-block-add-without-cell-count",'[WordTableBlock] \uD45C\uC2DC \uBAA8\uB4DC\uC5D0\uC11C onAddItem \uC740 showCellCount \uC640 \uD568\uAED8 \uC918\uC57C "\uCD94\uAC00\uD558\uAE30" \uCE78\uC774 \uC0DD\uAE34\uB2E4.');const[We,at]=l.useState(()=>Math.max(o?.length??1,1)),lt=E?P:m?Math.max(We,o?.length??1,1):Math.max(o?.length??0,1),{width:Ze,height:et}=Ro[ge],kt=!E&&!m,$t=o?.length??0,Ht=Math.min(J,Math.max($t,1)),ft=kt?Ht:lt,ot=kt?t0(o??[],ft):null,Qe=!!ot&&ot.length>1,Ue=E?ye.some(Ne=>Ne!==null&&Ne.length>1):(o??[]).some(Ne=>(Ne.words??[]).length>1),ct=_?.trim()||`${Yn(ua())} ${Ue?M("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):M("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,nt=l.useCallback(()=>Qe?Z.current.filter(Ne=>Ne!==null):Se.current?[Se.current]:[],[Qe]),{print:St,openNewWindow:Ye,downloadHtml:ht}=Ii({getElements:nt,paperW:Ze,paperH:et,fileName:ct,onPopupBlocked:()=>{Ge(M("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."))}}),Rt=Ne=>{oe(Ne),j(ze=>ze.length>=Ne?ze:[...ze,...Array(Ne-ze.length).fill(null)]),se(null)},Pt=Ne=>{j(ze=>{const re=[...ze];return re[Ne]=null,re}),ae===Ne&&se(null)},Re=Ne=>{if(ae===null)return;const ze=ae;j(ve=>{const U=[...ve];return U[ze]=Ne.length>0?Ne:null,U});const re=ye.findIndex((ve,U)=>U>ze&&ve===null);se(re!==-1?re:null)},Xe=E?ye.some(Ne=>Ne?.some(ze=>!!ze.colloquialPronunciation)):(o??[]).some(Ne=>(Ne.words??[]).some(ze=>!!ze.colloquialLabel)),zt=l.useMemo(()=>ao()?E?F.slice(0,P).flatMap(Ne=>(Ne??[]).map(ze=>[ze.word,ze.homonum])):(o??[]).flatMap(Ne=>(Ne.words??[]).map(ze=>[ze.label,ze.homonum])):[],[E,F,P,o]),[Et,Wt]=l.useState(!1);l.useEffect(()=>{if(zt.length===0)return;let Ne=!1;return Promise.all(zt.map(([ze,re])=>Rr(ze,re))).then(ze=>{Ne||Wt(ze.some(Boolean))},()=>{}),()=>{Ne=!0}},[zt]);const Ma=zt.length>0&&Et,it=l.useMemo(()=>[...E||m?[{label:M("wordTable.filter.columns","\uCE78 \uC218"),items:i9.map(Ne=>({value:`${Ne}\uCE78`,displayLabel:M("wordTable.filter.column",{count:Ne})})),display:"segmented"}]:[],...kt&&(o?.length??0)>0?[h0(M,{hasPairs:Ue,itemCount:$t})]:[],...Qe?[b0(M)]:[]],[M,E,m,kt,o?.length,Ue,$t,Qe]),ia={...E||m?{[M("wordTable.filter.columns","\uCE78 \uC218")]:`${lt}\uCE78`}:{},...kt&&(o?.length??0)>0?{[M(Ue?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Ht}\uAC1C`}:{},...Qe?{[M("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:g0[ie]}:{}},Ja=(Ne,ze)=>{ze===M("wordTable.filter.columns","\uCE78 \uC218")?E?Rt(parseInt(Ne)):at(parseInt(Ne)):ze===M(Ue?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?W(m0(parseInt(Ne),$t)):ze===M("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&ee(f0(Ne))},Dt=E?KA(ye.filter(Ne=>Ne!==null&&Ne.length>0).map(Ne=>({id:Eu(Ne),words:Ne.map(Jf)}))):o??[],Qt=()=>{E&&j(Ne=>Ne.length>P?Ne.slice(0,P):Ne)},ha=(Ne=!1)=>{if(Ve(Ne),V&&n){const ze=$.trim().toLowerCase();ze&&G(re=>re.includes(ze)?re:[...re,ze]),n($,Dt,z||void 0,Ne),Qt();return}if(x&&n){n("",Dt,void 0,Ne),Qt();return}if(n){xe(!0);return}ht()},[wa,$a]=l.useState(!1),[ma,Qa]=l.useState(""),sa=ma.trim(),yt=sa!==""&&K.includes(sa.toLowerCase()),Ra=()=>{Qa($?M("wordTable.save.copyName",{name:$,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),$a(!0)},la=()=>{!sa||yt||!n||(n(sa,Dt,z||void 0,!0),Qt(),$a(!1))},Gt=Dt.length===0,Pa=Gt||V&&($===""||H),ca=()=>{if(Gt){Ge(M("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(V&&$===""){Ge(M("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}V&&H&&Ge(M("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},za=r.jsx(Po,{items:Dt,orientation:ge,contentTypes:ce,cutLine:de,showOutline:Ae,showDivLine:Te,count:lt});return r.jsxs(r.Fragment,{children:[r.jsxs($o,{type:"page",icon:t,title:e,disc:a,className:Ee("word-table-block",g),children:[wa&&r.jsx(Ka,{size:"small",title:h??M("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>$a(!1),footer:({closeWithAnimation:Ne})=>r.jsxs(r.Fragment,{children:[r.jsx(ue,{htmlType:"button",size:48,type:"bar",label:M("common.cancel","\uCDE8\uC18C"),onClick:Ne}),r.jsx(ue,{htmlType:"button",size:48,type:"bar",variant:"main",label:M("common.save","\uC800\uC7A5"),disabled:!sa||yt,onClick:la})]}),children:r.jsx(mo,{label:M("wordTable.save.nameLabel","\uC774\uB984"),value:ma,onChange:Qa,placeholder:M("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:la,error:yt?M("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),me&&n&&v?.({defaultName:typeof e=="string"?e:M("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:za,previewW:Ze,previewH:et,items:Dt,existingNames:YA().map(Ne=>Ne.name),saveAsNew:qe,onSave:(Ne,ze)=>{n(Ne,Dt,ze,qe),Qt(),xe(!1)},onCancel:()=>xe(!1)}),(E||f)&&ae!==null&&C?.({cellIndex:ae,onConfirm:E?Re:Ne=>{if(f){const ze=Ne[0];if(ze){const re=new Set((o??[]).map(U=>U.id));let ve=Eu([ze]);for(let U=2;re.has(ve);U++)ve=`${Eu([ze])}~${U}`;f({id:ve,words:[Jf(ze)]})}}se(null)},onClose:Ie}),!b&&r.jsx(Pi,{hasImage:Ma,hasColloquial:Xe,contentTypes:ce,orientation:ge,showOutline:Ae,cutLine:de,showDivLine:Te,setters:{setContentTypes:Y,setOrientation:De,setShowOutline:Be,setCutLine:fe,setShowDivLine:ke},showCutLine:(kt?ft:lt)>1,showDivLine2:Ue,middleSections:it,extraSelected:ia,onExtraSelect:Ja}),Qe&&ot?r.jsx("div",{className:"word-table-block__pages",children:ot.map((Ne,ze)=>r.jsx(Po,{orientation:ge,contentTypes:ce,cutLine:de,showOutline:Ae,showDivLine:Te,count:ft,items:Ne,onRemoveItem:s,onReorder:p&&((re,ve)=>p(re+ze*ft,ve+ze*ft)),contentRef:re=>{Z.current[ze]=re},pageNumber:{current:ze+1,total:ot.length},pageNumberPosition:ie},ze))}):r.jsx(Po,{orientation:ge,contentTypes:ce,cutLine:de,showOutline:Ae,showDivLine:Te,count:lt,items:E?void 0:o??[],editCells:E?ye:void 0,activeCell:ae,onActivateCell:E||f?se:void 0,onRemoveCell:E?Pt:void 0,onRemoveItem:E?void 0:s,onReorder:E?void 0:p,showFillerAdd:!!f,contentRef:Se}),V&&!b&&r.jsxs(_n,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[r.jsx(Za,{variant:"custom",label:M("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:r.jsx(mo,{required:!0,value:y??"",onChange:A,placeholder:k?k+M("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):M("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:M("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:H?M("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(y??"").trim()&&(k??"").trim()&&(Ne.preventDefault(),A?.(k??""))}})}),r.jsx(Za,{variant:"custom",label:M("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:r.jsx(mo,{value:w??"",onChange:N,placeholder:B?B+M("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):M("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:M("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:Ne=>{(Ne.key==="Tab"&&!Ne.shiftKey||Ne.key===" ")&&!(w??"").trim()&&(B??"").trim()&&(Ne.preventDefault(),N?.(B??""))}})})]})]}),!b&&r.jsxs("div",{className:"word-table-block__actions",children:[r.jsxs("div",{className:"word-table-block__actions-left",children:[!x&&c&&r.jsx(ue,{htmlType:"button",size:40,type:"bar",label:I,onClick:c}),!x&&i&&r.jsx(ue,{htmlType:"button",size:40,type:"bar",label:M("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:i}),!x&&r.jsx(ue,{htmlType:"button",size:40,type:"bar",label:M("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Ye})]}),r.jsxs("div",{className:"word-table-block__actions-right",children:[R&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:M("common.cancel","\uCDE8\uC18C"),onClick:R}),!x&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:M("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:St}),h&&r.jsx(ue,{htmlType:"button",size:"56",type:"bar",label:h,onClick:()=>V?Ra():ha(!0),disabled:Gt,onDisabledClick:()=>{Ge(M("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),r.jsx(ue,{htmlType:"button",size:"56",type:"bar",variant:"main",label:u??M("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>ha(!1),disabled:Pa,onDisabledClick:ca})]})]}),r.jsx(Mo,{message:He,type:je,onClose:$e})]})}var ZA=".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%}";ne(ZA);function Du({items:e,className:t}){const a=e.length,o=a<=3?1:2,n=Math.ceil(a/o)||1,i=o*n;return r.jsx("div",{className:Ee("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${o}, 1fr)`},children:Array.from({length:i},(s,c)=>{const d=e[c];return d?r.jsx("div",{className:"word-table-thumb__cell",children:(d.words?.length?d.words:[{label:d.id}]).map((u,h)=>r.jsxs(l.Fragment,{children:[h>0&&r.jsx("span",{className:"word-table-thumb__divider"}),r.jsx("span",{className:"word-table-thumb__word body-3",children:u.label})]},h))},c):r.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var XA=".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}";ne(XA);function e1({items:e,name:t,description:a,createdAt:o,published:n,publishedLabel:i,shared:s,sharedLabel:c,isNew:d,publisherName:u,publishedAt:h,likeCount:p,downloadCount:m,onPublisherClick:f,selected:g,onClick:v,onMore:C,titleNode:b,className:x}){const{t:_}=be.useTranslation(),y=b!=null,A=u!=null||h!=null||p!=null||m!=null,w=N=>{N.target===N.currentTarget&&!y&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),v?.())};return r.jsxs("div",{className:Ee("word-table-button",g?"word-table-button--selected":"",A?"":"word-table-button--no-footer",x),role:"button",tabIndex:0,"aria-label":t,onClick:y?void 0:v,onKeyDown:w,children:[d&&r.jsx("span",{className:"word-table-button__new-dot","aria-label":_("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),r.jsx(Du,{items:e,className:"word-table-button__thumb"}),r.jsxs("div",{className:"word-table-button__info",children:[r.jsxs("div",{className:"word-table-button__info-text",children:[b??r.jsx("div",{className:"word-table-button__title h4",children:t}),a&&r.jsx("div",{className:"word-table-button__desc body-3",children:a})]}),C&&!y&&r.jsx(ue,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:_("common.moreFor",{name:t}),onClick:N=>{N.stopPropagation(),C(N)}})]}),(o||n||s)&&r.jsxs("div",{className:"word-table-button__meta-row",children:[r.jsx("span",{className:"word-table-button__meta caption-1",children:o?qn(o,_):""}),r.jsxs("span",{className:"word-table-button__badges",children:[n&&r.jsx(gt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:i??_("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),s&&r.jsx(gt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:c??_("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]})]}),A&&r.jsxs("div",{className:"word-table-button__footer",children:[r.jsxs("span",{className:"word-table-button__store-by",children:[u&&r.jsx("button",{className:"training-card__publisher body-4",type:"button",onClick:N=>{N.stopPropagation(),f?.()},children:u}),h&&r.jsx("span",{className:"training-card__date body-4",children:qn(h,_)})]}),r.jsxs("span",{className:"word-table-button__store-stats",children:[p!=null&&r.jsx(gt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(p)}),m!=null&&r.jsx(gt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(m)})]})]})]})}/**
1006
1006
  * @license lucide-react v1.38.0 - ISC
1007
1007
  *
1008
1008
  * This source code is licensed under the ISC license.