@ihabdevteam/core 0.355.0 → 0.356.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  \uC2E0\uB8B0\uB97C \uC313\uACE0
3
3
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`,site:{title:"\uC0AC\uC774\uD2B8",malgwi:"\uB9D0\uADC0",soundDirection:"\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",vrSoundDirection:"VR\uC18C\uB9AC\uBC29\uD5A5\uC131\uC2DC\uC2A4\uD15C",hearingTest:"\uCCAD\uB825\uD14C\uC2A4\uD2B8 \uD504\uB85C"},sns:{title:"SNS",naverBlog:"\uB124\uC774\uBC84 \uBE14\uB85C\uADF8"},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"},mx={timeHM:"{{h}}\uC2DC {{m}}\uBD84",timeH:"{{h}}\uC2DC"},bx={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"},gx={clearAriaLabel:"\uC785\uB825\uAC12 \uC9C0\uC6B0\uAE30"},fx={ariaLabel:"\uC120\uD0DD \uD0ED"},vx={ariaLabel:"\uD0ED"},xx={dragPrompt:"\uD30C\uC77C\uC744 \uC774\uACF3\uC5D0 \uB4DC\uB798\uADF8\uD558\uC5EC \uC5C5\uB85C\uB4DC",browseButton:"\uD30C\uC77C \uC120\uD0DD",removeAriaLabel:"{{name}} \uC81C\uAC70"},Cx={ariaLabel:"\uC0AC\uC6A9\uC790 \uC544\uBC14\uD0C0"},yx={relativeDay:{today:"\uC624\uB298",yesterday:"\uC5B4\uC81C",daysAgo:"{{n}}\uC77C \uC804"}},_x={weekly:{title:"\uC8FC\uAC04 \uD6C8\uB828 \uD604\uD669",daily:"\uC624\uB298\uC758 \uB4E3\uAE30"},homework:{title:"\uC219\uC81C \uC9C4\uD589\uD604\uD669",totalRate:"\uC804\uCCB4 \uC644\uB8CC\uC728",done:"\uC644\uB8CC"},today:{tooltipTotal:"\uC804\uCCB4",tooltipDone:"\uC644\uB8CC"},visit:{title:"\uBC29\uBB38 \uC5F0\uB3D9 \uAE30\uB85D"},detail:"\uC0C1\uC138\uBCF4\uAE30",detailFor:"{{name}} \uC0C1\uC138\uBCF4\uAE30"},wx={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"}},kx={steps:"\uC9C4\uD589 \uB2E8\uACC4 {{current}} / {{total}}"},Bx={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.",runs:"{{count}}\uD310"},Ax={resetColumns:"\uCE78 \uB108\uBE44 \uCD08\uAE30\uD654",scrollRegion:"\uAC00\uB85C\uB85C \uAD74\uB9B4 \uC218 \uC788\uB294 \uD45C",rowActionHint:"\uC904\uC744 \uB204\uB974\uBA74 \uC790\uC138\uD788 \uBD05\uB2C8\uB2E4"},Sx={viewWords:"\uB0B1\uB9D0"},Ex={ariaLabel:"\uBC30\uB108",dotAriaLabel:"{{count}}\uAC1C \uC911 {{index}}\uBC88\uC9F8 \uBC30\uB108"},Dx={chooseDate:"\uB0A0\uC9DC \uC120\uD0DD",selectYear:"\uC5F0 \uC120\uD0DD",selectMonth:"\uC6D4 \uC120\uD0DD"},Nx={previewRegion:"\uBCF4\uACE0\uC11C \uBBF8\uB9AC\uBCF4\uAE30 \u2014 \uC88C\uC6B0\uB85C \uAD74\uB824 \uBCFC \uC218 \uC788\uC2B5\uB2C8\uB2E4"},jx={description:"\uC124\uBA85",textbox:"\uBCF8\uBB38",training:"\uD6C8\uB828 \uC548\uB0B4",menu:"\uBA54\uB274"},Tx={place:{labial:"\uC591\uC21C\uC74C",alveolar:"\uCE58\uC870\uC74C",palatal:"\uACBD\uAD6C\uAC1C\uC74C",velar:"\uC5F0\uAD6C\uAC1C\uC74C",glottal:"\uC131\uBB38\uC74C"}},Lx={clearSelection:"\uC120\uD0DD \uD574\uC81C"},Mx={showResult:"{{type}} \uACB0\uACFC\uBCF4\uAE30"},$x={selected:"\uC120\uD0DD\uB428",remove:"\uC81C\uAC70",exclude:"\uC81C\uC678",nthSelected:"{{n}}\uBC88\uC9F8 \uC120\uD0DD"},Rx={loading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026"},Px={state:{active:"\uC18C\uB9AC \uB098\uB294 \uC911",played:"\uB4E4\uC74C",correct:"\uC815\uB2F5",wrong:"\uC624\uB2F5"}},zx={ariaLabel:"\uC774\uB3D9 \uACBD\uB85C"},Ix={empty:"\uB4F1\uB85D\uB41C \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."},Ox={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"},Fx={common:O1,calendar:F1,passCard:W1,rating:G1,colorPicker:H1,dropdown:V1,accordion:U1,header:q1,nav:Y1,settings:K1,usage:X1,account:Z1,training:J1,customers:Q1,payment:ex,coupons:tx,visits:ax,trainingType:ox,myWordTable:rx,keyWords:nx,wordTable:ix,wordSearch:sx,wordPrint:lx,topic:cx,device:ux,manager:dx,wordPairs:px,footer:hx,date:mx,wordData:bx,textField:gx,segmentedControl:fx,tabs:vx,fileUpload:xx,avatar:Cx,myHomework:yx,trainingStatus:_x,store:wx,progress:kx,trainingMiss:Bx,table:Ax,wordScore:Sx,topBanner:Ex,datePicker:Dx,report:Nx,tooltip:jx,phonemeProfile:Tx,bulkBar:Lx,debug:Mx,badge:$x,loader:Rx,soundCompass:Px,breadcrumb:zx,board:Ix,promoBannerBg:Ox},Wx={statusFilter:"Filter by status",pageSizeSelect:"Items per page",selectedCount_one:"{{count}} selected",selectedCount_other:"{{count}} selected",moreFor:"More options for {{name}}",collapseFor:"Collapse {{name}}",expandFor:"Expand {{name}}",sortFor:"Sort {{name}}",cancel:"Cancel",info:"Info",errorState:{message:"Couldn't load this.",retry:"Try again"},save:"Save",confirm:"Confirm",discardConfirm:{title:"Discard your changes?",body:"If you do not save, everything you have entered will be lost.",confirm:"Discard"},close:"Close",back:"Back",emptyTrainingName:"Training name is empty.",remove:"Remove",image:"Image",delete:"Delete",reset:"Reset",update:"Update",download:"Download",likeCount_one:"{{count}} like",likeCount_other:"{{count}} likes",selectedOfMax:"{{count}} of {{max}}",downloadCount_one:"{{count}} download",downloadCount_other:"{{count}} downloads",descriptionFor:"About {{name}}",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",playFor:"Play {{name}}",pauseFor:"Pause {{name}}",pause:"Pause",playPause:"Play / Pause",replay:"Replay",subscription:"Subscription",done:"Done",failed:"Failed",continue:"Continue",notification:"Notice",emptyList:"No items",noMatches:"No matching 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."},Gx={rangeSelect:"Select period",dow:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],weekLabel:"Week {{ord}}",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",visitCount_one:"{{count}} visit",visitCount_other:"{{count}} visits",statusCount:"{{count}} {{label}}",weekOrdinal:["1","2","3","4","5","6","7"]},Hx={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",expired:"Expired",menu:{use:"Activate",refund:"Refund",delete:"Delete"}},Vx={starLabel:"Select star {{n}}",valueLabel:"{{value}} out of {{max}}",groupLabel:"Rating"},Ux={selected:"selected"},qx={placeholder:"Select"},Yx={collapse:"Collapse",expand:"Expand"},Kx={biArea:"BI area",biSymbol:"BI symbol",logoMalgwi:"Malgwi logo",logoManager:"Malgwi Manager logo",menuOpen:"Open menu",utilMenu:"Utility menu",menuClose:"Close menu"},Xx={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",feedback:"Report a bug",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}}",badgeInsideLabel_one:"{{label}}, {{count}} notification inside",badgeInsideLabel_other:"{{label}}, {{count}} notifications inside"},Zx={cache:{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"}}}},Jx={couponButton:"Enter Coupon"},Qx={security:{password:{currentRequired:"Enter your current password.",newRequired:"Enter a new password.",mismatch:"The new passwords do not match.",changed:"Your password has been changed."}}},eC={settings:"Settings",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_one:"{{n}} question",countQuestions_other:"{{n}} questions",countSentences_one:"{{n}} sentence",countSentences_other:"{{n}} sentences",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",previewFor:"Preview {{name}}",stopFor:"Stop {{name}}",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",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",replaySound:"Replay item {{no}}",replaySoundStop:"Stop item {{no}}",done:"Done",noContent:"(No content)"},up:"Move up",down:"Move down",prev:"Previous",listenLabel:"Listen",sourcePlay:"Play source {{n}}",listen:"Listen",audioStatus:{synthesizing:"Preparing the sound\u2026",preparing:"Preparing sound\u2026"}},tC={totalCount:" customers",loadError:"Failed to load list",device:{title:"Hearing Devices",addButton:"Add device",historyEmpty:"No device history registered",wearing:" in use",notRegistered:"Not registered",unit:"",wearingNow:"In use",wear:"Wear",unwear:"Remove",wornSince:"Since {{date}}",historyTitle:"Hearing device history"},schedule:{registerTitle:" Register Schedule"},visitHistory:{empty:"No visit history yet",popupTitle:" Visit History",registerTitle:" Register Visit"},moreItems:"more",viewAll:"View All",duration:{minSec:"{{m}}m {{s}}s",min:"{{m}}m",sec:"{{s}}s"}},aC={plan:{recommendedFor:"Recommended for",features:"Key Features",freePrice:"Free",contact:"Contact Us",tierFallback:"Plan",openPromo:"Launch offer"},products:{mgrEnterprise:{tier:{price:"Contact us"}}}},oC={input:{label:"Coupon code",placeholder:"Enter coupon code"},applyButton:"Apply"},rC={showN:"Show {{n}}"},nC={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."}},iC={newBadge:"Newly created",publishedBadge:"Published",sharedBadge:"Shared"},sC={title:"Key Words",empty:"No key words available."},lC={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",topInfo:"Header",bottomInfo:"Footer",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_one:"{{count}} word",itemCount_other:"{{count}} words",deleteAriaLabel:"Delete {{name}}",viewLabel:"View as",sortLabel:"Sort by",sort:{newest:"Newest",oldest:"Oldest",name:"Name",count:"Word Count"},view:{grid:"Grid View",list:"List View"}},publisherFilter:"Show only tables by {{name}}",groupDeleteMessage:"Word tables in this group will be moved to 'No Group'.",groupNamePlaceholder:"Group name",scoring:{o:"{{word}} correct",triangle:"{{word}} partial",x:"{{word}} incorrect",markName:{o:"Correct",triangle:"Partial",x:"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 \u25CB \xB7 \u25B3 \xB7 \u2715 under a cell to mark it. With a mouse they appear when you hover the cell; with a keyboard, when focus reaches it.",tally:"{{marked}} scored \xB7 \u25CB {{o}} \xB7 \u25B3 {{triangle}} \xB7 \u2715 {{x}} \xB7 {{rate}}%",save:"Save score",saved_one:"Saved {{count}} mark for {{name}}.",saved_other:"Saved {{count}} marks for {{name}}.",reviewTitle:"Create a review table?",reviewMessage_one:"Builds a new table from the {{count}} cell {{name}} got wrong or partial. Correct ones are left out.",reviewMessage_other:"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_one:"Created \u201C{{name}}\u201D \u2014 {{count}} cell.",reviewCreated_other:"Created \u201C{{name}}\u201D \u2014 {{count}} cells.",discardTitle:"Discard this scoring?",discardMessage_one:"You marked {{count}} cell but have not saved. Leaving discards it.",discardMessage_other:"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"}},cC={filterTitle:"Word Search Settings",filter:{positionAny:"Any",positionHead:"Start",positionMid:"Middle",positionTail:"End",difficulty:"Grade",grade:"Grade {{n}}",gradeNone:"None",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",field:"Semantic Category",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"},uC={clearAllSelection:"Clear All Selections",divLine:"Contrast Line",removePair:"Remove pair",removeWord:"Remove word"},dC={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"}},pC={direction:{left:"L",right:"R",label:"Side"},wornDate:"Date Worn",deviceType:"Device Type",brand:"Brand",fitType:"Fit Type",productName:"Product Name",addNew:"Add New Device",selectFromList:"Select from List",removeDevice:"Remove",type:{hearingAid:"Hearing Aid",cochlearImplant:"Cochlear Implant",other:"Other"}},hC={stat:{totalCustomers:"Total Customers",monthlyVisits:"This Month's Visits"},chart:{visitDetail:"Visit Details",trainingDetail:"Training Details",weekly:"Weekly",periodMonth:"Month",periodWeek:"Week",weeklyPrefix:"Weekly",monthlyPrefix:"Monthly",visit:"Visits",reservation:"Reservations",trainingDone:"Completed",trainingInProgress:"In Progress",weekRange:"{{start}}\u2013{{end}}",week:"W{{n}}"}},mC={phonemeSelect:{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}}",countLabel:"Number of phonemes",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:["Level 1 \u2014 everyday vocabulary acquired before school age and used for life","Level 2 \u2014 difficulty of grades 1\u20132","Level 3 \u2014 difficulty of grades 3\u20134","Level 4 \u2014 difficulty of grades 5\u20136","No level \u2014 frequent everyday words outside the national standard list, plus coinages and loanwords"],selectLabel:"Select",onlyHasImage:"Only words with images",onlySameStructure:"Only same phoneme structure"},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."]},bC={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"},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 Sicheong-gil, Chuncheon, Gangwon, Korea"},gC={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},fC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount_one:"Downloading {{n}} word",downloadingCount_other:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},vC={clearAriaLabel:"Clear input"},xC={ariaLabel:"Select tab"},CC={ariaLabel:"Tabs"},yC={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},_C={ariaLabel:"User avatar"},wC={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"}},kC={weekly:{title:"Weekly Training",daily:"Daily Listening"},homework:{title:"Homework Progress",totalRate:"Overall rate",done:"Done"},today:{tooltipTotal:"Total",tooltipDone:"Done"},visit:{title:"Linked Visit Records"},detail:"Details",detailFor:"{{name}} details"},BC={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"}},AC={steps:"Step {{current}} of {{total}}"},SC={skippedOnly_one:"{{n}} older record was excluded \u2014 it does not say what was answered.",skippedOnly_other:"{{n}} older records were excluded \u2014 they do not say what was answered.",runs_one:"{{count}} run",runs_other:"{{count}} runs"},EC={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},DC={viewWords:"Words"},NC={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},jC={chooseDate:"Choose a date",selectYear:"Select year",selectMonth:"Select month"},TC={previewRegion:"Report preview \u2014 scrollable sideways"},LC={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},MC={place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},$C={clearSelection:"Clear selection"},RC={showResult:"Show {{type}} result"},PC={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},zC={loading:"Loading"},IC={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},OC={ariaLabel:"Breadcrumb"},FC={empty:"No items yet."},WC={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"},GC={common:Wx,calendar:Gx,passCard:Hx,rating:Vx,colorPicker:Ux,dropdown:qx,accordion:Yx,header:Kx,nav:Xx,settings:Zx,usage:Jx,account:Qx,training:eC,customers:tC,payment:aC,coupons:oC,visits:rC,trainingType:nC,myWordTable:iC,keyWords:sC,wordTable:lC,wordSearch:cC,wordPrint:uC,topic:dC,device:pC,manager:hC,wordPairs:mC,footer:bC,date:gC,wordData:fC,textField:vC,segmentedControl:xC,tabs:CC,fileUpload:yC,avatar:_C,myHomework:wC,trainingStatus:kC,store:BC,progress:AC,trainingMiss:SC,table:EC,wordScore:DC,topBanner:NC,datePicker:jC,report:TC,tooltip:LC,phonemeProfile:MC,bulkBar:$C,debug:RC,badge:PC,loader:zC,soundCompass:IC,breadcrumb:OC,board:FC,promoBannerBg:WC};const Yn="0.355.0",Hr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Lo="ko",$s="ihab_display_language";function Gp(){if(typeof window>"u")return Lo;try{const e=localStorage.getItem($s);if(e&&Hr.some(t=>t.code===e))return e}catch{}return Lo}function HC(e){try{localStorage.setItem($s,e)}catch{}}function Hp(e){try{document.documentElement.lang=e}catch{}}wt.on("languageChanged",Hp),Hp(Gp()),wt.use(we.initReactI18next).init({resources:{ko:{translation:Fx},en:{translation:GC}},lng:Gp(),fallbackLng:Lo,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Vp=s.createContext({locale:Lo,supportedLocales:Hr});function VC(){return s.useContext(Vp)}function UC(e){const t=o=>Hr.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:Lo}function qC({locale:e=Lo,children:t}){const a=UC(e);s.useEffect(()=>{wt.language!==a&&wt.changeLanguage(a)},[a]);const o=s.useMemo(()=>({locale:a,supportedLocales:Hr}),[a]);return r.jsx(Vp.Provider,{value:o,children:t})}function Se(...e){return e.filter(Boolean).join(" ")}var YC=".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;margin-block:auto;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .empty-state__message,.ihabdevteam-core-scope .empty-state__title{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__title+.empty-state__message{margin-top:-6px}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}";se(YC);const Up=new Set,ho=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Pt(e,...t){!ho||Up.has(e)||(Up.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"},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 Sicheong-gil, Chuncheon, Gangwon, Korea"},gC={timeHM:"{{hh}}:{{mm}}",timeH:"{{hh}}:{{mm}}"},fC={phaseWordDownload:"Download Word Data",phaseImageCheck:"Check Images",phasePairAnalysis:"Analyze Word Pairs",downloadingCount_one:"Downloading {{n}} word",downloadingCount_other:"Downloading {{n}} words",checkingPage:"Checking page {{page}} list",imageCount:"{{done}} / {{total}} items"},vC={clearAriaLabel:"Clear input"},xC={ariaLabel:"Select tab"},CC={ariaLabel:"Tabs"},yC={dragPrompt:"Drag and drop files here",browseButton:"Choose Files",removeAriaLabel:"Remove {{name}}"},_C={ariaLabel:"User avatar"},wC={relativeDay:{today:"Today",yesterday:"Yesterday",daysAgo:"{{n}}d ago"}},kC={weekly:{title:"Weekly Training",daily:"Daily Listening"},homework:{title:"Homework Progress",totalRate:"Overall rate",done:"Done"},today:{tooltipTotal:"Total",tooltipDone:"Done"},visit:{title:"Linked Visit Records"},detail:"Details",detailFor:"{{name}} details"},BC={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"}},AC={steps:"Step {{current}} of {{total}}"},SC={skippedOnly_one:"{{n}} older record was excluded \u2014 it does not say what was answered.",skippedOnly_other:"{{n}} older records were excluded \u2014 they do not say what was answered.",runs_one:"{{count}} run",runs_other:"{{count}} runs"},EC={resetColumns:"Reset column widths",scrollRegion:"Horizontally scrollable table",rowActionHint:"Press a row to open its details"},DC={viewWords:"Words"},NC={ariaLabel:"Banner",dotAriaLabel:"Banner {{index}} of {{count}}"},jC={chooseDate:"Choose a date",selectYear:"Select year",selectMonth:"Select month"},TC={previewRegion:"Report preview \u2014 scrollable sideways"},LC={description:"Description",textbox:"Text",training:"Training guide",menu:"Menu"},MC={place:{labial:"Bilabial",alveolar:"Alveolar",palatal:"Palatal",velar:"Velar",glottal:"Glottal"}},$C={clearSelection:"Clear selection"},RC={showResult:"Show {{type}} result"},PC={selected:"Selected",remove:"Remove",exclude:"Excluded",nthSelected:"Selection {{n}}"},zC={loading:"Loading"},IC={state:{active:"playing",played:"heard",correct:"correct",wrong:"wrong"}},OC={ariaLabel:"Breadcrumb"},FC={empty:"No items yet."},WC={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"},GC={common:Wx,calendar:Gx,passCard:Hx,rating:Vx,colorPicker:Ux,dropdown:qx,accordion:Yx,header:Kx,nav:Xx,settings:Zx,usage:Jx,account:Qx,training:eC,customers:tC,payment:aC,coupons:oC,visits:rC,trainingType:nC,myWordTable:iC,keyWords:sC,wordTable:lC,wordSearch:cC,wordPrint:uC,topic:dC,device:pC,manager:hC,wordPairs:mC,footer:bC,date:gC,wordData:fC,textField:vC,segmentedControl:xC,tabs:CC,fileUpload:yC,avatar:_C,myHomework:wC,trainingStatus:kC,store:BC,progress:AC,trainingMiss:SC,table:EC,wordScore:DC,topBanner:NC,datePicker:jC,report:TC,tooltip:LC,phonemeProfile:MC,bulkBar:$C,debug:RC,badge:PC,loader:zC,soundCompass:IC,breadcrumb:OC,board:FC,promoBannerBg:WC};const Yn="0.356.0",Hr=[{code:"ko",label:"\uD55C\uAD6D\uC5B4"},{code:"en",label:"English"}],Lo="ko",$s="ihab_display_language";function Gp(){if(typeof window>"u")return Lo;try{const e=localStorage.getItem($s);if(e&&Hr.some(t=>t.code===e))return e}catch{}return Lo}function HC(e){try{localStorage.setItem($s,e)}catch{}}function Hp(e){try{document.documentElement.lang=e}catch{}}wt.on("languageChanged",Hp),Hp(Gp()),wt.use(we.initReactI18next).init({resources:{ko:{translation:Fx},en:{translation:GC}},lng:Gp(),fallbackLng:Lo,interpolation:{escapeValue:!1},react:{useSuspense:!1}});const Vp=s.createContext({locale:Lo,supportedLocales:Hr});function VC(){return s.useContext(Vp)}function UC(e){const t=o=>Hr.some(n=>n.code===o);if(t(e))return e;const a=e.split(/[-_]/)[0]?.toLowerCase()??"";return t(a)?a:Lo}function qC({locale:e=Lo,children:t}){const a=UC(e);s.useEffect(()=>{wt.language!==a&&wt.changeLanguage(a)},[a]);const o=s.useMemo(()=>({locale:a,supportedLocales:Hr}),[a]);return r.jsx(Vp.Provider,{value:o,children:t})}function Se(...e){return e.filter(Boolean).join(" ")}var YC=".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;margin-block:auto;padding:var(--spacing-page) var(--spacing-xl);text-align:center}.ihabdevteam-core-scope .empty-state__icon{color:var(--color-lightGray);display:inline-flex}.ihabdevteam-core-scope .empty-state__message,.ihabdevteam-core-scope .empty-state__title{color:var(--color-gray);margin:0}.ihabdevteam-core-scope .empty-state__title+.empty-state__message{margin-top:-6px}.ihabdevteam-core-scope .empty-state__action{margin-top:var(--spacing-xs);min-width:120px}";se(YC);const Up=new Set,ho=(()=>{try{const e=globalThis;return e.process!=null&&e.process.env?.NODE_ENV!=="production"}catch{return!1}})();function Pt(e,...t){!ho||Up.has(e)||(Up.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.
@@ -1079,20 +1079,20 @@ ${y.badge}`:y.badge:void 0;if(_&&u(y.code))return null;if(!y.badge&&!h)return p(
1079
1079
  \uC544\uC774\uCF58 + \uD3F4\uBC31)\uC5D0 \uB3D9\uC77C\uD558\uAC8C \uC801\uC6A9\uD558\uB824\uBA74 !important\uAC00 \uBD88\uAC00\uD53C\uD568. */.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg,.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg *{stroke:currentColor!important;stroke-width:2px!important;stroke-width:var(--icon-grid-menu-button-stroke-width,2px)!important;vector-effect:non-scaling-stroke}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg{height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-svg svg{display:block;height:28px;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{background-color:currentColor;display:inline-block;height:28px;-webkit-mask-image:var(--icon-url);mask-image:var(--icon-url);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-image{display:block;height:28px;-o-object-fit:contain;object-fit:contain;width:28px}.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{align-items:center;display:inline-flex;flex-direction:column;gap:6px}.ihabdevteam-core-scope .icon-grid-menu__button-label{color:var(--color-darkGray);overflow-wrap:break-word;word-break:keep-all}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected{animation:sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background-color:var(--color-main);border-color:transparent;box-shadow:var(--shadow-button);color:#fff}.ihabdevteam-core-scope .icon-grid-menu__button.icon-grid-menu__button--selected .icon-grid-menu__button-icon{color:#fff}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-wrapper{gap:4px;margin:4px 8px;width:56px}.ihabdevteam-core-scope .icon-grid-menu--medium .icon-grid-menu__button-wrapper{margin-left:6px;margin-right:6px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon{font-size:20px;height:24px;width:24px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-image,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-mask,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg,.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-icon-svg svg{height:20px;width:20px}.ihabdevteam-core-scope .icon-grid-menu--small .icon-grid-menu__button-label{font-size:12px;line-height:1.3}@media (min-width:1024px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 12px;width:80px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:28px;height:68px;width:68px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:28px;width:28px}}@media (min-width:768px) and (max-width:1023px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:8px 10px;width:64px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:24px;height:58px;width:58px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:24px;width:24px}}@media (max-width:767px){.ihabdevteam-core-scope .icon-grid-menu__button-wrapper{margin:var(--spacing-xs);width:50px}.ihabdevteam-core-scope .icon-grid-menu__button{border-radius:20px;height:48px;width:48px}.ihabdevteam-core-scope .icon-grid-menu__button-icon-mask{height:20px;width:20px}}`;se(iE);function sE(e){const{category:t={},isSelected:a=!1,onClick:o}=e||{},n=t?.key?` icon-grid-menu__button--${t.key}`:"",i=s.useId();return r.jsxs("div",{className:`icon-grid-menu__button-wrapper${n}`,children:[r.jsx("button",{className:`icon-grid-menu__button${a?" icon-grid-menu__button--selected":""}`,"data-key":t?.key,type:"button",onClick:a?void 0:o,"aria-pressed":a,"aria-labelledby":i,children:r.jsx(ot,{icon:t.icon,label:t.label,className:"icon-grid-menu__button-icon",imgClassName:"icon-grid-menu__button-icon-image",maskClassName:"icon-grid-menu__button-icon-mask",svgClassName:"icon-grid-menu__button-icon-svg"})}),r.jsx("span",{id:i,className:"icon-grid-menu__button-label button-1",children:t.label})]})}function kv(e){const{categories:t=[],selected:a,onSelect:o,size:n="medium"}=e||{},i=a!==void 0,[l,c]=s.useState(()=>i?null:(t&&t[0]?.key)??null),u=i?a:l,d=s.useRef(o);s.useEffect(()=>{d.current=o});const h=s.useRef(!1),p=(t&&t[0]?.key)??null;s.useEffect(()=>{if(i||h.current||!p)return;h.current=!0;const v=l??p;l==null&&c(v),d.current?.(v)},[i,p]);const m=s.useCallback(v=>{const x=u===v?null:v;h.current=!0,i||c(x),o?.(x)},[u,i,o]);return r.jsx("div",{className:`icon-grid-menu icon-grid-menu--${n}`,children:(t||[]).map(v=>r.jsx(sE,{category:v,isSelected:u===v.key,onClick:()=>m(v.key)},v.key))})}var lE=".ihabdevteam-core-scope .choice-chips{display:block;width:100%}.ihabdevteam-core-scope .choice-chips--medium{margin-bottom:60px}.ihabdevteam-core-scope .choice-chips--small{margin-bottom:var(--spacing-l)}.ihabdevteam-core-scope .choice-chips__list{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-s);justify-content:center;padding-bottom:6px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar{height:8px}.ihabdevteam-core-scope .choice-chips__list::-webkit-scrollbar-thumb{background:rgba(0,0,0,.08);border-radius:var(--radius-sm)}.ihabdevteam-core-scope .choice-chips__button{background:var(--color-deepWhite)!important;border:1px solid var(--color-whiteLine)!important;border-radius:var(--radius-s)!important;color:var(--color-darkGray)!important;height:40px!important;padding:0 24px!important;transition:all .12s!important;white-space:nowrap}.ihabdevteam-core-scope .choice-chips__button:hover{border-color:var(--color-main)!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__button{height:32px!important;padding:0 16px!important}.ihabdevteam-core-scope .choice-chips--small .choice-chips__list{gap:var(--spacing-xs)}.ihabdevteam-core-scope .choice-chips__button.is-selected{animation:chip-sub-to-main .36s cubic-bezier(.4,0,.2,1) forwards;background:var(--color-main)!important;border:1px solid var(--color-main)!important;box-shadow:var(--shadow-dropdown);color:#fff!important}@keyframes chip-sub-to-main{0%{background-color:var(--color-sub)}to{background-color:var(--color-main)}}";se(lE);function Bv({subs:e=[],selected:t,onSelect:a,size:o="medium"}){const n=o==="small"?32:40;return r.jsx("div",{className:`choice-chips choice-chips--${o}`,children:r.jsx("div",{className:"choice-chips__list",children:e.map(i=>r.jsx(ve,{htmlType:"button",size:n,type:"bar",label:i.label,selected:t===i.key,className:"choice-chips__button",onClick:()=>a?.(i.key)},i.key))})})}var cE=".ihabdevteam-core-scope .site-footer{background:var(--color-deepWhite);border-top:1px solid var(--color-whiteLine);box-sizing:border-box;color:var(--color-gray);padding:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__top{align-items:flex-start;display:flex;gap:40px;justify-content:space-between}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 220px;width:220px}.ihabdevteam-core-scope .site-footer__lead{color:var(--color-gray);text-align:left}.ihabdevteam-core-scope .site-footer__links{align-items:flex-start;display:flex;flex:1 1 auto;flex-wrap:wrap;gap:100px 10px;min-width:320px}.ihabdevteam-core-scope .site-footer__column{flex:0 0 160px;min-width:160px;text-align:left}.ihabdevteam-core-scope .site-footer__column-title{color:var(--color-lightGray)}.ihabdevteam-core-scope .footer-title{color:var(--color-lightGray);display:inline-block;font-size:13px;font-weight:600;line-height:20px;width:80px}.ihabdevteam-core-scope .site-footer__column ul{list-style:none;margin:10px 0 0;padding:0}.ihabdevteam-core-scope .site-footer__column li{margin-bottom:6px}.ihabdevteam-core-scope .footer-link,.ihabdevteam-core-scope .site-footer__column a{color:var(--color-lightGray);text-decoration:none}.ihabdevteam-core-scope .footer-link{align-items:center;display:inline-flex;font-size:13px;line-height:20px;min-height:24px;min-width:24px;transition:color .12s ease}.ihabdevteam-core-scope .footer-copyright,.ihabdevteam-core-scope .footer-meta{line-height:18px}.ihabdevteam-core-scope .footer-link:focus,.ihabdevteam-core-scope .footer-link:hover{color:var(--color-main);text-decoration:none}.ihabdevteam-core-scope .site-footer__rule{border:none;border-top:1px solid var(--color-darkWhite);margin:40px 0}.ihabdevteam-core-scope .site-footer__bottom{align-items:center;display:flex;gap:40px;justify-content:flex-start}.ihabdevteam-core-scope .site-footer__logo{height:52px}.ihabdevteam-core-scope .site-footer__bottom .site-footer__brand{align-items:center;display:flex;justify-content:center}.ihabdevteam-core-scope .site-footer__meta{color:var(--color-lightGray);text-align:left}.ihabdevteam-core-scope .site-footer__copyright{align-items:center;box-sizing:border-box;color:var(--color-lightGray);display:flex;justify-content:center;margin:var(--spacing-page) 0 0 0;text-align:center;width:100%}@media (max-width:1024px){.ihabdevteam-core-scope .site-footer__top{flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__brand{flex:0 0 auto;width:100%}.ihabdevteam-core-scope .site-footer__links{gap:20px 10px;margin:0;min-width:0;width:100%}.ihabdevteam-core-scope .site-footer__bottom{align-items:flex-start;flex-direction:column;gap:var(--spacing-page)}.ihabdevteam-core-scope .site-footer__meta{width:100%}.ihabdevteam-core-scope .site-footer__logo{height:50px}}@media (max-width:767px){.ihabdevteam-core-scope .site-footer__logo{height:48px}}";se(cE);function Av({onTermsClick:e,onPrivacyClick:t,contact:a}={}){const o=a?.email??"support@ihab.co.kr",n=a?.tel??"031-380-3724",{t:i}=we.useTranslation();return r.jsx("footer",{className:"site-footer",children:r.jsxs("div",{className:"safearea",children:[r.jsxs("div",{className:"site-footer__top",children:[r.jsx("div",{className:"site-footer__brand",children:r.jsx("div",{className:"site-footer__lead h3",children:i("footer.lead",`\uC544\uC774\uD574\uBE0C\uB294 \uC18C\uB9AC\uB97C \uD1B5\uD574
1080
1080
  \uC2E0\uB8B0\uB97C \uC313\uACE0
1081
1081
  \uD68C\uBCF5\uC744 \uB3D5\uC2B5\uB2C8\uB2E4.`).split(`
1082
- `).map((l,c,u)=>r.jsxs(s.Fragment,{children:[l,c<u.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:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),r.jsx("li",{children:r.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.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 uE='.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}}';se(uE);function Sv({logo:e,logoAlt:t="",logoHref:a,links:o=[],actions:n,className:i,containerClassName:l,renderLink:c,menuLabel:u}){const{t:d}=we.useTranslation(),h=u??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,m]=s.useState(!1),v=s.useId(),x=s.useRef(null);s.useEffect(()=>{if(!p)return;const C=Uo(()=>{const y=document.getElementById(v);y&&y.contains(document.activeElement)&&x.current?.focus(),m(!1)}),f=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=y=>{y.matches&&m(!1)};return f&&(f.matches&&m(!1),f.addEventListener?.("change",w)),()=>{C(),f?.removeEventListener?.("change",w)}},[p,v]);const g=l?`${l} landing-header__inner`:"landing-header__inner",b=(C,f)=>c?c(C,{onClick:f}):r.jsx("a",{href:C.href,onClick:f,"aria-current":C.current?"page":void 0,children:C.label});return r.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[r.jsxs("div",{className:g,children:[e!=null&&(()=>{const C=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:C}):r.jsx("div",{className:"landing-header__brand",children:C})})(),o.length>0&&r.jsx("nav",{className:"landing-header__links",children:o.map((C,f)=>r.jsx("span",{children:b(C)},`${f}:${C.href}`))}),r.jsxs("div",{className:"landing-header__actions",children:[n,o.length>0&&r.jsx("button",{ref:x,type:"button",onClick:()=>m(C=>!C),"aria-expanded":p,"aria-controls":v,"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:v,hidden:!p,className:"landing-header__drawer",children:r.jsx("div",{className:l??void 0,children:o.map((C,f)=>r.jsx("span",{className:"landing-header__drawer-item",children:b(C,()=>m(!1))},`${f}:${C.href}`))})})]})}var dE=".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}}";se(dE);function Ev({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,...B0(a),children:[r.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}function pE({mountedRef:e}){const t=s.useRef({phase:"sound",at:0}),a=s.useRef(0),o=s.useRef(null),n=s.useRef(null),i=s.useCallback(()=>{const g=t.current,b=g.phase!=="sound"&&g.at>0;n.current=b?{phase:g.phase,elapsed:Math.max(0,Date.now()-g.at)}:null},[]),l=s.useCallback(()=>{const g=n.current;return n.current=null,g},[]),c=s.useCallback(()=>{a.current+=1,t.current={phase:"sound",at:0}},[]),u=s.useCallback((g,b,C=0)=>{if(!(g>0))return Promise.resolve(!0);const f=a.current;return t.current={phase:b,at:Date.now()-Math.max(0,C)},new Promise(w=>{const y=setTimeout(()=>{o.current===y&&(o.current=null),w(!!e.current&&f===a.current)},g);o.current=y})},[e]),d=s.useCallback(()=>{t.current={phase:"sound",at:Date.now()}},[]),h=s.useCallback(()=>{t.current={phase:"sound",at:0}},[]),p=s.useCallback(()=>{const g=t.current;return g.phase!=="sound"&&g.at>0},[]),m=s.useCallback(()=>a.current,[]),v=s.useCallback(g=>g===a.current,[]),x=s.useCallback(()=>{a.current+=1},[]);return s.useEffect(()=>()=>{o.current&&(clearTimeout(o.current),o.current=null)},[]),s.useMemo(()=>({positionRef:t,isRunning:p,generation:m,isCurrent:v,abort:c,waitPad:u,enterSound:d,leave:h,pause:i,resume:l,__bumpGenerationForTest:x}),[p,m,v,c,u,d,h,i,l,x])}const or=9,Dv=e=>Math.round(Math.min(or,Math.max(0,e))/or*100),Nv=e=>e/100*or,Or=2,dp=.1,hE=e=>Math.min(Or,Math.max(0,e)),mE=.1,bE=e=>Math.round(e*1e6)/1e6;function Fr(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return hE(t);const a=Math.min(or,Math.max(0,Number(e.level)||0))/or,o=Number(e.mainVolume);return o>0?a>0?bE(Math.min(Or,Math.max(mE,a/o))):0:1}const jv=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function pp(e){return jv(e)}function gs(e){return jv(e)*Fr(e)}function fs(e,t=el()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,gs(e)/a)}function Eo(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Fr({level:a.level,mainVolume:a.mainVolume})),a}const Do={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},vs=s.createContext(null);function Wn(){return s.useContext(vs)}const hp=e=>`${Qs()}/${e}`,Tv=e=>Array.from({length:10},(t,a)=>hp(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),xs={get defaultNoise(){return hp("noise1.mp3")},get street(){return Tv("noise2")},get restaurant(){return Tv("noise3")},get buzz(){return hp("noise4.mp3")}};function gE(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return xs.defaultNoise;case"street":return xs.street[t];case"restaurant":return xs.restaurant[t];case"buzz":return xs.buzz;default:return null}}function fE({noisePlayer:e,audioRef:t,playbackStateRef:a,sequencer:o}){const n=s.useRef(e?.registerAnalyser);n.current=e?.registerAnalyser;const i=s.useRef(null),[l,c]=s.useState(null),u=s.useRef(null),d=s.useRef(null),h=s.useRef(null),p=s.useRef(null),m=s.useRef(0),v=s.useRef(null),x=s.useCallback(()=>!!o?.isRunning(),[o]),g=s.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),v.current!==null&&(clearTimeout(v.current),v.current=null)},[]),b=s.useCallback((A,_=250)=>{const k=i.current;if(!k)return;const B=d.current;if(B){d.current=null;try{k.pause()}catch{}k.src=B,k.load()}if(!k.src)return;m.current+=1,g();try{en(),ur(k).then(z=>{if(i.current===k)try{n.current?.("noise",z)}catch{}})}catch{}const E=k.paused?0:dr(k);k.paused&&za(k,0),k.play().catch(()=>{});const S=performance.now(),D=()=>{const z=Math.min(1,(performance.now()-S)/_);try{za(k,E+(A-E)*z)}catch{}z<1?p.current=requestAnimationFrame(D):p.current=null};p.current=requestAnimationFrame(D)},[g]),C=s.useCallback((A=250,_)=>{const k=i.current;if(!k||k.paused){_?.();return}const B=++m.current;g();const E=performance.now(),S=dr(k),D=()=>{const z=Math.min(1,(performance.now()-E)/A);try{za(k,S*(1-z))}catch{}if(z<1)p.current=requestAnimationFrame(D);else{p.current=null,v.current!==null&&(clearTimeout(v.current),v.current=null);try{k.pause()}catch{}_?.()}};p.current=requestAnimationFrame(D),v.current=setTimeout(()=>{if(v.current=null,m.current===B){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{k.paused||(za(k,0),k.pause(),_?.())}catch{}}},A+150)},[g]);s.useEffect(()=>{const A=document.createElement("audio");return A.loop=!0,A.crossOrigin="anonymous",i.current=A,()=>{g();try{A.pause(),A.removeAttribute("src"),A.load()}catch{}i.current=null,u.current=null,d.current=null}},[g]);const f=e?fs(e.settings):0,w=!!e?.settings.enabled&&f>0;s.useEffect(()=>{if(!w)return;let A=0;const _=setInterval(()=>{const k=i.current;if(!k||k.paused){A=0;return}const B=t.current;if(B&&!B.paused&&!B.ended||x()||a.current==="playing"){A=0;return}A+=1,A>=2&&(A=0,C())},400);return()=>clearInterval(_)},[C,w,t,a,x]),s.useEffect(()=>{const A=()=>{const _=i.current;if(document.hidden){if(_&&!_.paused){g();try{_.pause()}catch{}}return}if(!_||!_.paused)return;const k=t.current,B=!!k&&!k.paused&&!k.ended||x()||a.current==="playing",E=h.current;B&&E?.enabled&&E.volume>0&&b(E.volume)};return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)},[g,b,t,a,x]),s.useEffect(()=>{h.current=e?{enabled:e.settings.enabled,volume:f,type:e.settings.type}:null},[e,e?.settings.enabled,f,e?.settings.type]);const y=s.useRef(null);return s.useEffect(()=>()=>{y.current?.(),y.current=null},[]),s.useEffect(()=>{const A=e?.settings,_=i.current;if(!_)return;const k=A?fs(A):0;if(!A||!A.enabled||k===0){C();return}if(u.current!==A.type){const B=gE(A.type);B&&(u.current=A.type,c(B),d.current=B,C(150,()=>{if(d.current!==B)return;d.current=null,_.src=B,_.load();const E=t.current;if(E&&!E.paused||x()){y.current?.();const S=()=>{_.removeEventListener("canplay",S),y.current===D&&(y.current=null);const z=t.current,T=h.current;(z&&!z.paused&&!z.ended||x())&&T?.enabled&&T.volume>0&&b(T.volume)},D=()=>_.removeEventListener("canplay",S);y.current=D,_.addEventListener("canplay",S)}}))}else{const B=t.current,E=!!B&&!B.paused&&!B.ended||x()||a.current==="playing";if(E&&d.current)b(k);else if(E&&_.paused&&_.src)b(k);else if(!_.paused)if(!E)C();else{g();const S=dr(_),D=performance.now(),z=()=>{const T=Math.min(1,(performance.now()-D)/150);try{za(_,S+(k-S)*T)}catch{}T<1?p.current=requestAnimationFrame(z):p.current=null};p.current=requestAnimationFrame(z)}}},[e?.settings,e?.settings.enabled,f,e?.settings.type,g,b,C,t,a,h,x]),s.useEffect(()=>{const A=i.current;if(A)try{A.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:i,activeNoiseUrl:l,noiseSettingsRef:h,cancelNoiseFade:g,fadeInNoise:b,fadeOutNoise:C}}function vE({ttsText:e,playbackRate:t,mainVolume:a,fillRef:o,waveProgressRef:n,setProgress:i,setPlaybackState:l,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:h,onDoneRef:p,handleEndRef:m}){const v=s.useRef(null),x=s.useRef(0),g=s.useRef(null),b=s.useRef(0),C=s.useRef(!1);s.useEffect(()=>()=>{b.current++;try{if(g.current&&(cancelAnimationFrame(g.current),g.current=null),C.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}C.current=!1}}catch{}},[]);const f=(A,_=1)=>{try{const k=(A||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(A||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},w=s.useCallback(A=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const _=window.speechSynthesis,k=++b.current;try{try{_.cancel()}catch{}const B=A??e,E=Array.isArray(B)?B.filter(N=>!!N):[B||""];E.length===0&&E.push("");const S=Math.max(.3,Math.min(3,t));x.current=E.reduce((N,j)=>N+f(j,S||1),0),v.current=performance.now(),i(0),l("playing"),c("playMode");const D=h.current;D?.enabled&&(D?.volume??0)>0&&u(D.volume);const z=()=>{try{const N=v.current||performance.now(),j=performance.now()-N,P=x.current||1200,X=Math.min(1,j/P);try{o.current&&(o.current.style.left=`${X*100}%`),n.current&&n.current.style.setProperty("--progress",String(X))}catch{}X<1&&(g.current=requestAnimationFrame(z))}catch{}},T=()=>{if(k===b.current)try{g.current&&(cancelAnimationFrame(g.current),g.current=null),i(1),l("stopped");try{m.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},G=N=>{const j=new SpeechSynthesisUtterance(E[N]);try{j.rate=S}catch{}try{j.volume=Math.max(0,Math.min(1,a))}catch{}j.onend=()=>{if(k===b.current){if(N<E.length-1){try{G(N+1)}catch{T()}return}T()}},j.onerror=()=>{T()},j.onstart=()=>{if(!(N>0))try{g.current&&(cancelAnimationFrame(g.current),g.current=null),g.current=requestAnimationFrame(z)}catch{}},C.current=!0,_.speak(j)};try{G(0)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,t,a,u,o,n,i,l,c,h,p,m]),y=s.useCallback(()=>{b.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}g.current&&(cancelAnimationFrame(g.current),g.current=null),d(),v.current=null}catch{}l("stopped"),c("active"),i(0)},[d,l,c,i]);return{startTTS:w,stopTTS:y}}var xE='.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{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.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%}.ihabdevteam-core-scope .audio-player__buttons>.button--variant-transparent-white[aria-pressed=true]:not(:hover):not(:focus-visible){background:transparent;color:#fbfdff}.ihabdevteam-core-scope .audio-player__source-buttons .button--variant-transparent-white[aria-pressed=true]{background:var(--color-white);color:var(--color-darkGray)}';se(xE);const CE=.01,yE=.3;async function _E(e,t,a,o=!1){let n=null;try{const i=window.AudioContext||window.webkitAudioContext;n=new i;const l=await n.decodeAudioData(e.slice(0)),c=l.numberOfChannels>0?l.getChannelData(0):null;if(!c)return null;let u=0;if(o){const v=Math.floor(yE*l.sampleRate),x=Math.min(c.length,v);for(;u<x&&Math.abs(c[u])<=CE;)u++;u>=x&&(u=0)}const d=c.length-u,h=a&&a>0?Math.min(d,Math.floor(a*l.sampleRate)):d,p=Math.max(t,h),m=Math.floor(p/t)||1;return new Array(t).fill(0).map((v,x)=>{const g=u+x*m,b=Math.min(g+m,u+p,c.length);let C=0;for(let f=g;f<b;f++){const w=Math.abs(c[f]);w>C&&(C=w)}return C})}catch{return null}finally{try{n?.close?.()}catch{}}}async function Lv(e,t,a,o=!1){try{const n=await fetch(e);if(n.ok===!1)return null;const i=await n.arrayBuffer();return await _E(i,t,a,o)}catch(n){try{const i=mn(n)}catch{}return null}}const Cs=45,Mv=74,$v=2;function Gn(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function Hn(e){return Gn(e)/45}const wE=e=>Math.max(0,(typeof e=="number"&&Number.isFinite(e)?e:0)*1e3),Rv=e=>Math.max(0,typeof e=="number"&&Number.isFinite(e)?e:0);function Pv({durationsSec:e,leadInMs:t=0,tailMs:a=0}){const o=Rv(t),n=Rv(a),i=[];let l=0;return e.forEach((c,u)=>{for(const[d,h]of[["lead",o],["sound",wE(c)],["tail",n]])i.push({kind:d,track:u,startMs:l,durMs:h}),l+=h}),{segments:i,totalMs:l,trackCount:e.length}}function zv(e,t){const a=(t|0)*3;if(t<0||a+2>=e.segments.length)return null;const[o,n,i]=[e.segments[a],e.segments[a+1],e.segments[a+2]];return{lead:o,sound:n,tail:i,totalMs:o.durMs+n.durMs+i.durMs}}function kE(e,t){const a=zv(e,t.track);if(!a||!(a.totalMs>0))return 0;const o=a[t.kind],n=Math.min(Math.max(0,Number.isFinite(t.elapsedMs)?t.elapsedMs:0),o.durMs);return Math.max(0,Math.min(1,(o.startMs-a.lead.startMs+n)/a.totalMs))}function BE(e,t,a){const o=Math.max(0,Math.floor(a)),n=zv(e,t);if(!n||o===0||!(n.totalMs>0)||n.lead.durMs===0&&n.tail.durMs===0||!(n.sound.durMs>0))return{lead:0,sound:o,tail:0};const i=Math.round(n.lead.durMs/n.totalMs*o),l=Math.round(n.tail.durMs/n.totalMs*o),c=Math.max(1,o-i-l),u=i+c+l-o;return{lead:Math.max(0,i-Math.ceil(u/2)),sound:c,tail:Math.max(0,l-Math.floor(u/2))}}function AE({currentTime:e,sources:t,index:a,audioDuration:o}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,l=i?i.duration||o||0:o||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function SE({phase:e,phaseElapsedMs:t,currentTime:a,trackDurationSec:o,leadInMs:n,tailMs:i}){const l=Pv({durationsSec:[o],leadInMs:n,tailMs:i});return kE(l,{track:0,kind:e,elapsedMs:e==="sound"?(Number.isFinite(a)?a:0)*1e3:t})}function EE({bars:e,trackDurationSec:t,leadInMs:a,tailMs:o}){return BE(Pv({durationsSec:[t],leadInMs:a,tailMs:o}),0,e)}function DE(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function NE({ended:e,completedByEnd:t}){return!!e||!!t}function jE(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function TE(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function LE(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 l=i;n.push({code:l.code??null,src:l.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 l=String(i),c=a(l,t);c&&n.push({code:l,resolvedPath:c})}}return n}function ME(e,t){if(!t||e.readyState<1)return!0;const a=e.currentSrc||e.src;return a?Iv(a)!==Iv(t):!0}function Iv(e){try{return new URL(e,typeof location>"u"?"http://localhost/":location.href).href}catch{return e}}const Ov=4,$E=Hn(Ov/Cs);function RE(e){const{src:t,segments:a,progress:o=0,waveProgressRef:n,noiseSrc:i,noiseRatio:l=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:h,showSoundWaveForm:p=!0,leadInMs:m=0,tailMs:v=0,trackDurationSec:x=0}=e,g=s.useRef(null),b=s.useRef(null),[C,f]=s.useState(null),[w,y]=s.useState(!1),[A,_]=s.useState(null),[k,B]=s.useState(2),[E,S]=s.useState(0),[D,z]=s.useState(null),[T,G]=s.useState(!1),[N,j]=s.useState(!1),P=3,X=3,K=1,M=300,W=s.useRef(0),R=s.useCallback(()=>{const ye=g.current,me=b&&b.current?b.current:ye?ye.closest(".audio-player__wave"):null,ue=me?me.getBoundingClientRect():ye?ye.getBoundingClientRect():null,xe=ue?ue.width:0,V=ue?Math.max(100,ue.width):320,ae=ue?ue.height:0,ge=Math.max(K,Math.min(M,Math.floor((V+X)/(P+X)))),ke=ge*P,Ae=Math.max(0,ge-1),ze=Math.max(0,Ae>0?(V-ke)/Ae:X);return{bars:ge,gap:ze,height:ae,width:xe}},[]),U=s.useRef(void 0),F=s.useRef(null),q=s.useCallback(async(ye,me,{quiet:ue=!1}={})=>{const xe=++W.current,V=()=>W.current===xe;try{if(ue||y(!1),U.current=ye,!ye){V()&&f(null);return}let ae=me;if(!ae)try{for(let Ae=0;Ae<4&&!(g.current||b.current);Ae++)await new Promise(ze=>requestAnimationFrame(ze));await new Promise(Ae=>requestAnimationFrame(Ae));const ke=R();ke.height>0&&S(ke.height),ae=ke.bars,B(ke.gap)}catch{ae=120}F.current=ae;const ge=await Lv(ye,ae);if(!V())return;if(!ge){f(null),y(!1);return}f(ge),_(ae),y(!0)}catch{if(!V())return;f(null),y(!1)}},[y,f,S,B,_,R]);s.useEffect(()=>{const ye=b.current;if(!ye||typeof ResizeObserver>"u")return;let me=null;const ue=new ResizeObserver(()=>{me!==null&&cancelAnimationFrame(me),me=requestAnimationFrame(()=>{me=null;try{const xe=R();if(xe.width<=0||(xe.height>0&&S(xe.height),F.current===null||xe.bars===F.current))return;const V=U.current;B(xe.gap),V?q(V,xe.bars,{quiet:!0}).catch(()=>{}):F.current=xe.bars}catch{}})});return ue.observe(ye),()=>{ue.disconnect(),me!==null&&cancelAnimationFrame(me)}},[R,q]),s.useEffect(()=>{const ye=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;q(typeof ye=="string"?ye:void 0).catch(()=>{}),j(!1)},[t,a,q]),s.useEffect(()=>{let ye=!1;if(G(!1),z(null),!i||!A)return;const me=u>0?u*(c||1):void 0;return Lv(i,A,me,!0).then(ue=>{ye||(z(ue),ue||G(!0))}).catch(()=>{ye||(z(null),G(!0))}),()=>{ye=!0}},[i,A,u,c]);const L=Math.max(0,Math.min(1,d)),I=s.useMemo(()=>C&&C.length&&Math.max(...C)||1,[C]),O=A||40,Q=s.useMemo(()=>EE({bars:O,trackDurationSec:x,leadInMs:m,tailMs:v}),[O,x,m,v]),ce=s.useMemo(()=>Array.from({length:O}).map((ye,me)=>{const ue=me>=Q.lead&&me<Q.lead+Q.sound,xe=Q.sound>0&&ue?Math.min(O-1,Math.round((me-Q.lead)/Q.sound*O)):-1,V=ue?C&&C[xe]!=null?C[xe]:null:C?0:null,ae=V==null?null:Math.min(1,V/I*L),ge=ae!=null&&E>0&&Gn(ae)<=Ov,ke=ae==null?.15:ge?0:Hn(ae),Ae=ge,ze=O>1?me/(O-1):0;return r.jsx("div",{className:Ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":ke,"--i":me,"--mix":ze}},me)}),[O,C,I,L,E,Q]),ne={"--progress":String(Math.max(0,Math.min(1,o)))},be=s.useMemo(()=>D&&D.length&&Math.max(...D.map(ye=>Number.isFinite(ye)?Math.abs(ye):0))||1,[D]),J=L*Math.max(0,l),H=!i||!D||!D.length?1:Math.max(1,J),le={"--bar-gap":`${k}px`,"--wave-h":`${Gn(H)}px`,"--wave-h1":`${Cs}px`},Y=w&&(i?!!D||T:!0);s.useEffect(()=>{Y&&j(!0)},[Y]);const Z=N?w:Y;s.useEffect(()=>{h?.(Z)},[Z,h]);const he=A||40,je=s.useMemo(()=>Array.from({length:he}).map((ye,me)=>{const ue=D&&D[me]!=null?D[me]:null,xe=ue==null?0:Math.abs(ue)/be*J,V=Math.max($E,Hn(xe)),ae=he>1?me/(he-1):0;return r.jsx("div",{className:"audio-player__bar",style:{"--val":V,"--i":me,"--mix":ae}},me)}),[he,D,be,J,E]);return r.jsxs("div",{className:"audio-player__wave",ref:b,style:le,children:[i&&r.jsx("div",{className:`audio-player__wave-noise ${Y?"is-ready":""}`,"aria-hidden":"true",children:je}),p&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${Z?"is-ready":""}`,ref:g,children:ce}),r.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${Z?"is-ready":""}`,ref:n,style:ne,children:ce})]})]})}const Fv={idle:!1,synthesizing:!0,resolving:!0,checking_exists:!0,getting_signed_url:!0,downloading:!0,measuring_duration:!0,ready:!1,error:!0};function mp(e,t){return new Promise((a,o)=>{const n=document.createElement("audio");let i=!1;const l=()=>{try{n.removeAttribute("src"),n.load()}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(n.duration)&&n.duration||0;l(),a(d)},u=d=>{i||(i=!0,l(),t.rejectOnError?o(new Error(d)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),n.src=e})}const PE=2e3;function Wv(e,t=PE){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 zE({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const o=s.useRef(!1),n=s.useRef([]),i=s.useCallback(u=>{if(o.current=u,!u||!n.current.length)return;const d=n.current;n.current=[];for(const h of d)h(!0)},[]),l=s.useCallback(()=>{o.current=!1},[]),c=s.useCallback(()=>!e&&!t||o.current?Promise.resolve(!0):new Promise(u=>{const d=p=>{clearTimeout(h),n.current=n.current.filter(m=>m!==d),u(p)},h=setTimeout(()=>d(!0),a);n.current.push(d)}),[e,t,a]);return s.useEffect(()=>()=>{const u=n.current;n.current=[];for(const d of u)d(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:l}}function IE(){const e=s.useRef([]),t=s.useCallback(n=>(e.current.push(n),n),[]),a=s.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),o=s.useCallback(()=>{a([])},[a]);return s.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:o}}function OE({offsetY:e=8}={}){const t=s.useRef(null),[a,o]=s.useState(null),n=s.useCallback(()=>o(null),[]),i=s.useCallback(()=>{try{const l=t.current?.getBoundingClientRect();if(!l)return;o({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return s.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function FE(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}const WE=400,GE=2e3,Gv=5;function HE({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:o,currentIndexRef:n,sequencer:i,leadInMs:l=0,tailMs:c=0}){const u=s.useRef(null),d=s.useRef(0),h=s.useRef(null),p=s.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)},[]),m=s.useCallback(()=>{if(u.current!==null)return;let x=0;const g=()=>{if(ho){const b=typeof performance<"u"&&performance.now?performance.now():Date.now();if(x>0&&b-x>WE){const C=h.current===null||b-h.current>GE;if(h.current=b,C&&d.current<Gv){d.current+=1;const f=d.current;let w=null;try{w=typeof document<"u"?document.visibilityState:null}catch{}Pt(`progress-ticker-slow-frames#${f}`,`[ihab-core] \uC9C4\uD589 \uC0AC\uC2AC\uC758 \uD2C0 \uC0AC\uC774\uAC00 ${Math.round(b-x)}ms \uC785\uB2C8\uB2E4(\uBCF4\uD1B5 16ms).`,w==="hidden"?"\uC774 \uCE78\uC774 **\uC228\uC5B4 \uC788\uC5B4** \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD2C0\uC744 \uC904\uC600\uC2B5\uB2C8\uB2E4 \u2014 \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC740 \uD2C0\uB9C8\uB2E4 \uADF8\uB824\uC9C0\uBBC0\uB85C, \uC9C0\uAE08 \uC7AC\uB294 \uAC12\uC740 **\uC0AC\uB78C\uC774 \uBCF4\uB294 \uD654\uBA74\uACFC \uB2E4\uB985\uB2C8\uB2E4.** \uCE78\uC744 \uC55E\uC73C\uB85C \uAEBC\uB0B4\uACE0 \uB2E4\uC2DC \uC7AC\uC2ED\uC2DC\uC624.":"\uCE78\uC740 \uBCF4\uC774\uB294\uB370 \uD2C0\uC774 \uB290\uB9BD\uB2C8\uB2E4 \u2014 \uAC19\uC740 \uD654\uBA74\uC5D0\uC11C \uBB34\uAC70\uC6B4 \uC77C\uC774 \uB3C4\uB294\uC9C0 \uBCF4\uC2ED\uC2DC\uC624. \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC774 \uB04A\uACA8 \uBCF4\uC774\uB294 \uAC83\uC740 \uC774 \uD0D3\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4.",f>=Gv?`(${f}\uBC88\uC9F8 \u2014 \uB354\uB294 \uC548 \uC54C\uB9BD\uB2C8\uB2E4)`:`(${f}\uBC88\uC9F8)`)}}x=b}try{const b=e.current,C=Array.isArray(o.current)?o.current[n.current||0]:void 0,f=!!C&&Number.isFinite(C.duration)&&(C.duration??0)>0,w=f?0:FE(b),y=t.current,A=(l||0)>0||(c||0)>0,_=A&&(i?.positionRef.current?.phase??"sound")!=="sound";if(w===null&&!_)try{y&&y.style.visibility!=="hidden"&&(y.style.visibility="hidden")}catch{}else{const k=f?C.duration:w||0;ho&&_&&!(k>0)&&Pt("progress-ticker-pad-without-duration","[ihab-core] \uB738\uC774 \uB3C4\uB294\uB370 **\uC18C\uB9AC \uAE38\uC774\uB97C \uBAA8\uB985\uB2C8\uB2E4** \u2014 \uC7AC\uC0DD\uBC14\uAC00 \uB738\uB9CC\uC73C\uB85C \uC5B4\uB9BC\uC7A1\uC544 \uC6C0\uC9C1\uC785\uB2C8\uB2E4.","\uC18C\uB9AC \uAE38\uC774 \uC7AC\uAE30(measureAudioDuration)\uAC00 0 \uC744 \uC92C\uAC70\uB098 `<audio>` \uAC00 \uC544\uC9C1 \uC548 \uC2E4\uB838\uC2B5\uB2C8\uB2E4. \uAE38\uC774\uB97C \uC54C\uAC8C \uB418\uBA74 \uB9C8\uCEE4\uAC00 \uADF8 \uC21C\uAC04 **\uB4A4\uB85C \uBB3C\uB7EC\uB0A9\uB2C8\uB2E4**(\uC5B4\uB9BC\uC740 \uB298 \uCC38\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4). \uC774 \uC904\uC774 \uBCF4\uC774\uBA74 \uADF8 \uC790\uB9AC\uB97C \uC54C\uB824 \uC8FC\uC2ED\uC2DC\uC624 \u2014 \uD3C9\uC18C \uAE38\uC5D0\uC11C\uB294 \uC548 \uB098\uC640\uC57C \uD569\uB2C8\uB2E4.");const B=A?SE({phase:i?.positionRef.current?.phase??"sound",phaseElapsedMs:i?.positionRef.current?Math.max(0,Date.now()-i.positionRef.current.at):0,currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,trackDurationSec:k,leadInMs:l||0,tailMs:c||0}):AE({currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,sources:o.current,index:n.current,audioDuration:w??0});try{y&&(y.style.visibility&&(y.style.visibility=""),y.style.left=`${B*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(B))}catch{}}}catch{}u.current=requestAnimationFrame(g)};u.current=requestAnimationFrame(g)},[e,t,a,o,n,i,l,c]),v=s.useCallback(x=>{p();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${x*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(x))}catch{}},[p,t,a]);return s.useEffect(()=>p,[p]),{start:m,stop:p,settleTo:v}}function Vn({btnLabel:e,soundSrc:t,bucketPath:a,onDone:o,disabled:n=!1,ttsText:i=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0,leadInMs:d=0,tailMs:h=0}){const{t:p}=we.useTranslation(),m=e,v=Wn(),x=s.useRef(v?.registerAnalyser);s.useEffect(()=>{x.current=v?.registerAnalyser});const g=s.useRef(null),b=s.useRef(null),C=s.useRef(null),f=IE(),w=s.useRef(null),y=s.useRef(!1),A=s.useRef(null),{ref:_,rect:k,show:B,hide:E}=OE();s.useEffect(()=>()=>{x.current?.("main",null),x.current?.("noise",null)},[]);const[S,D]=s.useState(!1),[z,T]=s.useState("idle"),[G,N]=s.useState("stopped"),j=s.useRef("stopped");s.useEffect(()=>{j.current=G},[G]);const[P,X]=s.useState(0),[K,M]=s.useState("active"),W=s.useRef(!1);s.useEffect(()=>{if(K!=="playMode"||!W.current)return;W.current=!1;const ee=typeof document<"u"?document.activeElement:null;if(ee&&ee!==document.body)return;const pe=C.current?.querySelectorAll("button")[1];try{pe?.focus()}catch{}},[K]);const[R,U]=s.useState(null),[F,q]=s.useState(null),[L,I]=s.useState(0),[O,Q]=s.useState(!1),[ce,ne]=s.useState(0),be=v?.playbackRate??1,J=v?.mainVolume??1,H=v?gs(v.settings):0,le=v?pp(v.settings):J,[Y,Z]=s.useState("idle"),[he,je]=s.useState(""),[ye]=s.useState("top"),me=s.useRef(null),ue=s.useRef(0),xe=s.useRef(null),V=s.useRef(!0),ae=pE({mountedRef:V}),ge=s.useRef(null),ke=s.useRef(d),Ae=s.useRef(h);s.useEffect(()=>{ke.current=Math.max(0,d||0)},[d]),s.useEffect(()=>{Ae.current=Math.max(0,h||0)},[h]);const{start:ze,stop:Fe,settleTo:ut}=HE({audioRef:g,fillRef:b,waveProgressRef:xe,sourcesRef:me,currentIndexRef:ue,sequencer:ae,leadInMs:d,tailMs:h}),{onReadyChange:it,waitForReady:et,markNotReady:gt}=zE({showSoundWaveForm:c,showNoiseWaveForm:u}),Ee=s.useRef(null),Ve=s.useRef(n),Be=s.useRef(o),Ue=s.useRef(null),De=s.useRef(!1),[Pe,Me]=s.useState(!1),Qe=s.useCallback(ee=>{De.current=ee,Me(ee)},[]),yt=s.useRef(null),{activeNoiseUrl:nt,noiseSettingsRef:tt,fadeInNoise:Et,fadeOutNoise:vt}=fE({noisePlayer:v,audioRef:g,playbackStateRef:j,sequencer:ae}),{startTTS:Dt,stopTTS:At}=vE({ttsText:i,playbackRate:be,mainVolume:le,fillRef:b,waveProgressRef:xe,setProgress:X,setPlaybackState:N,setStateLocal:M,fadeInNoise:Et,fadeOutNoise:vt,noiseSettingsRef:tt,onDoneRef:Be,handleEndRef:yt});s.useEffect(()=>{lt.current=At});const _t=ee=>{if(typeof window>"u"||!window.speechSynthesis){try{je(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}Dt(ee);return}ct("tts"),Dt(ee)},Xe=Array.isArray(t)?t.filter(Boolean):t?[t]:[],ie=(!Xe||Xe.length===0)&&!!i,Te=Array.isArray(R)&&R.length>0?R:Array.isArray(F)&&F.length>0?F:null,at=Math.max(Array.isArray(Te)?Te.length:0,Xe.length);s.useEffect(()=>(V.current=!0,()=>{V.current=!1}),[]);const qe=()=>{ae.abort()},lt=s.useRef(null),Re=s.useRef(null),ht=s.useRef(null),Ie=s.useRef(null);Ie.current||(Ie.current=()=>{ht.current=null;const ee=g.current;if(Re.current==="audio"&&ee&&(!ee.paused||ae.isRunning())){qe();try{ee.pause()}catch{}V.current&&(N("paused"),Fe(),vt())}else if(Re.current==="tts")try{lt.current?.()}catch{}});const ct=ee=>{Re.current=ee,ht.current=Ki(Ie.current)},xt=()=>{ht.current?.(),ht.current=null};s.useEffect(()=>()=>{Ie.current&&Xi(Ie.current)},[]);const Nt=s.useRef(be);s.useEffect(()=>{Nt.current=be||1},[be]);const Je=s.useCallback(ee=>{const pe=Nt.current||1;try{ee.defaultPlaybackRate=pe}catch{}try{ee.playbackRate=pe}catch{}},[]),dt=s.useCallback((ee,pe)=>{if(!ME(ee,pe)){try{ee.currentTime=0}catch{}Je(ee);return}ee.src=pe,Je(ee),ee.load(),Je(ee)},[Je]),pt=s.useCallback(()=>{Ue.current&&(clearTimeout(Ue.current),Ue.current=null),Z("idle")},[]),ft=s.useCallback(async(ee,pe=3,oe=50,_e=0)=>{pt();const Oe=ae.generation(),He=!!ee&&ee.currentTime>0&&!ee.ended,rt=Math.max(0,ke.current-Math.max(0,_e));if(rt>0&&!He){ct("audio"),ze(),N("playing");const Ct=tt.current;if(Ct?.enabled&&(Ct.volume??0)>0)try{Et(Ct.volume)}catch{}if(!await ae.waitPad(rt,"lead",_e)||!V.current||!ae.isCurrent(Oe))return!1}ae.enterSound();for(let Ct=0;Ct<pe;Ct++){if(!V.current||!ae.isCurrent(Oe))return!1;try{return ct("audio"),await ee.play(),!0}catch(Ce){if((Ce instanceof Error||typeof Ce=="object"&&Ce&&"name"in Ce?Ce.name:void 0)==="AbortError"){if(!ae.isCurrent(Oe))return!1;await new Promise($=>setTimeout($,oe));continue}try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,ze,ae,Et,tt,pt]),jt=s.useCallback(ee=>{const pe=ae.generation(),oe=Math.max(0,Ae.current-Math.max(0,ee));ze();const _e=tt.current;if(_e?.enabled&&(_e.volume??0)>0)try{Et(_e.volume)}catch{}const Oe=()=>{try{ge.current?.()}catch{}};if(oe<=0){ae.leave(),Oe();return}ae.waitPad(oe,"tail",ee).then(He=>{ae.leave(),He&&ae.isCurrent(pe)&&Oe()}).catch(()=>{})},[ae,ze,Et,tt]),ta=s.useCallback(()=>{const ee=g.current;if(!ee)return;const pe=()=>{N("playing"),M("playMode"),Q(!0),ze();try{en(),ur(ee).then(He=>{if(V.current)try{x.current?.("main",He)}catch{}})}catch{}const Oe=tt.current;Oe?.enabled&&(Oe?.volume??0)>0&&Et(Oe.volume)},oe=()=>{NE({ended:!!ee?.ended,completedByEnd:De.current})||(N("paused"),Fe(),vt())},_e=()=>{const Oe=()=>{try{const He=me.current,rt=DE(He,ue.current);if(rt!==null){ue.current=rt,I(rt),Q(!0);const Ct=He?.[rt]&&He[rt].src;if(Ct&&ee){dt(ee,Ct),ft(ee).catch(()=>{});return}}}catch{}N("stopped"),X(1);try{if(ee)try{ee.currentTime=0}catch{}}catch{}Fe(),Q(!1),vt();try{!Ve.current&&yt.current&&yt.current()}catch{}};if(ge.current=Oe,Ae.current>0){ze(),ae.waitPad(Ae.current,"tail").then(He=>{ae.leave(),He&&Oe()}).catch(()=>{});return}Oe()};return ee.addEventListener("play",pe),ee.addEventListener("pause",oe),ee.addEventListener("ended",_e),()=>{try{ee.removeEventListener("play",pe),ee.removeEventListener("pause",oe),ee.removeEventListener("ended",_e),Fe()}catch{}}},[Et,vt,ft,tt,ze,Fe,ae]);s.useEffect(()=>ta(),[ta]),s.useEffect(()=>{Ve.current=n},[n]),s.useEffect(()=>{Be.current=o},[o]),s.useEffect(()=>{if(n||K!=="active")return;const ee=A.current;if(!ee)return;let pe=null;const oe=requestAnimationFrame(()=>{try{const _e=ee.getTotalLength();if(!_e)return;const Oe=_e*.2;ee.style.strokeDasharray=`${_e-Oe} ${Oe}`;const He="triFlow_"+Math.random().toString(36).slice(2);pe=document.createElement("style"),pe.textContent=`@keyframes ${He}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${_e}}}`,document.head.appendChild(pe),ee.style.animation=`${He} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(oe),pe?.remove()}},[K,n]),s.useEffect(()=>{me.current=R},[R]),s.useEffect(()=>{ue.current=L},[L]),s.useEffect(()=>{const ee=C.current,pe=w.current;if(!ee||!pe)return;let oe=null;const _e=32,Oe=60,He=()=>{try{const Ct=Array.from(ee.querySelectorAll(":scope > .button"));let Ce=0;Ct.forEach(We=>{if(We===pe)return;const Ze=We.getBoundingClientRect();Ce+=Ze.width});const $=ee.getBoundingClientRect().width,te=Math.max(0,Math.floor($-Ce-8)),fe=at;if(!fe||te<=0){Array.from(pe.children).forEach(We=>{try{We.style.width=""}catch{}});return}let Le=Math.floor(te/fe);Le>Oe&&(Le=Oe),Le<_e&&(Le=Math.max(_e,Math.floor(te/fe))),Array.from(pe.querySelectorAll(".button")).forEach(We=>{try{We.style.width=`${Le}px`}catch{}})}catch{}},rt=requestAnimationFrame(He);try{oe=new ResizeObserver(()=>{requestAnimationFrame(He)}),oe.observe(ee),oe.observe(pe),window.addEventListener("resize",He)}catch{}return()=>{try{cancelAnimationFrame(rt)}catch{}try{oe&&(oe.disconnect(),oe=null)}catch{}try{window.removeEventListener("resize",He)}catch{}}},[R,F,at]),s.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Ue.current&&(clearTimeout(Ue.current),Ue.current=null)}catch{}},[]);const pa=(ee,pe)=>{U(ee),ne(pe),gt(),q(jE(ee)),me.current=ee},Pa=()=>{M("playMode"),I(0),Q(!0)},lo=async(ee,pe)=>{Qe(!1),y.current=!1,dt(ee,pe),await Wv(ee),await et()!==!1&&(D(!1),Pa(),await ft(ee))},jo=async(ee,pe=!1)=>{const oe=g.current;D(!0),T("measuring_duration");try{const _e=await mp(ee,{timeoutMs:1e4,rejectOnError:!0});pa([{src:ee,objectUrl:null,duration:_e}],_e),T("ready"),pe&&oe&&await lo(oe,ee)}finally{y.current=!1,D(!1)}},To=async(ee,pe=!1)=>{const oe=g.current;D(!0),T("measuring_duration");try{const _e=await Promise.all(ee.map(He=>mp(He,{timeoutMs:1e4})));if(!V.current)return;const Oe=ee.map((He,rt)=>({src:He,objectUrl:null,duration:_e[rt]||0}));pa(Oe,TE(Oe)),T("ready"),pe&&oe&&Oe.length>0&&await lo(oe,Oe[0].src)}finally{y.current=!1,D(!1)}},aa=async(ee=!1,pe=!0)=>{const oe=g.current,_e=t?Array.isArray(t)?t:[t]:[];if(!_e||_e.length===0||!_e.some(Boolean))return!1;if(y.current)return null;y.current=!0,pe&&D(!0),T("resolving");try{const Oe=LE(t,a,Xn),He=[];let rt=0;for(const Ct of Oe){let Ce=Ct.src??null,$=null;if(!Ce&&Ct.resolvedPath){try{T("getting_signed_url"),Ce=await Zr(Ct.resolvedPath)}catch{Ce=null}if(!V.current)return!1;if(!Ce)try{T("downloading");const fe=await Zn(Ct.resolvedPath);if(!V.current)return!1;if(fe){const Le=fe instanceof Blob?fe:new Blob([fe]);$=f.track(URL.createObjectURL(Le)),Ce=$}}catch{T("error");try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),M("active")}catch{}}}if(!Ce)continue;let te=0;try{T("measuring_duration"),te=await mp(Ce,{timeoutMs:3e3})}catch{te=0}if(!V.current){if($)try{URL.revokeObjectURL($)}catch{}for(const fe of He)if(fe.objectUrl)try{URL.revokeObjectURL(fe.objectUrl)}catch{}return!1}rt+=te||0,He.push({...Ct,src:Ce,objectUrl:$,duration:te})}if(pa(He,rt),He.length>0&&ee&&oe){const Ct=He[0];Qe(!1);try{f.keepOnly(He.map(Ce=>Ce.objectUrl))}catch{}if(T("ready"),y.current=!1,Ct.src&&oe)try{if(dt(oe,Ct.src),await Wv(oe),await et()===!1)return!1;pe&&D(!1),Pa(),oe&&await ft(oe)}catch{pe&&D(!1)}else pe&&D(!1);M("playMode"),I(0),Q(!0)}return He.length>0}finally{y.current=!1,pe&&D(!1),T(Oe=>Oe==="ready"?"ready":"idle")}},Ba=async ee=>{const pe=ae.isRunning();if(ee.paused&&!pe){if(De.current){await Gt();return}const oe=ae.resume();if(oe){if(N("playing"),oe.phase==="tail"){jt(oe.elapsed);return}await ft(ee,3,50,oe.elapsed);return}await ft(ee),N("playing")}else ae.pause(),qe(),ee.pause(),N("paused"),pe&&(Fe(),vt())},oa=async()=>{const ee=g.current;if(!(!ee&&!ie)){if(ie){const pe=window.speechSynthesis;if(K==="active"){const oe=Ro(),_e=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(oe&&_e.length>0){if(y.current)return;M("load"),D(!0),T("synthesizing"),y.current=!0;try{const Oe=await Promise.all(_e.map(He=>Promise.resolve(oe(He))));Oe.length>1?await To(Oe,!0):await jo(Oe[0],!0)}catch{y.current=!1,D(!1),M("active"),_t(_e.length>0?_e:void 0)}return}_t(_e.length>0?_e:void 0);return}if(K==="playMode"){const oe=!!pe&&(pe.speaking||pe.paused)&&!(ee&&(ee.currentSrc||ee.getAttribute("src")));if(ee&&!oe){await Ba(ee);return}try{if(pe&&pe.paused)try{ct("tts"),pe.resume(),N("playing")}catch{}else try{pe.pause(),N("paused")}catch{}}catch{}}return}if(K==="active"){if(n&&Array.isArray(me.current)&&me.current.length>0){const oe=me.current[0];try{if(oe.src&&ee)try{dt(ee,oe.src),Pa(),ee&&await ft(ee)}catch{}Pa();return}catch{}}M("load");let pe;try{pe=await aa(!0)}catch{pe=!1}if(pe===!1&&V.current){try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}M("active")}return}if(K!=="load"&&(K==="playMode"||K==="active"))try{ee&&await Ba(ee)}catch(pe){(pe instanceof Error||typeof pe=="object"&&pe&&"name"in pe)&&pe.name}}},Gt=async()=>{const ee=g.current;if(ee)try{const pe=me.current;if(Array.isArray(pe)&&pe.length>1){await Jt(0);return}Qe(!1);try{ee.currentTime=0}catch{}ee&&await ft(ee),N("playing"),M("playMode")}catch{}},co=()=>{qe(),xt(),lt.current?.();const ee=g.current;try{if(ee){try{ee.pause()}catch{}try{ee.currentTime=0}catch{}}}catch{}vt(),N("stopped"),M("active"),X(0),Q(!1)},ya=async(ee,{sameSegment:pe=!1}={})=>{qe();const oe=ae.generation(),_e=g.current,Oe=me.current?.[ee]?.src;try{if(Qe(!1),I(ee),Q(!0),ue.current=ee,!Oe||!_e||(pe||gt(),dt(_e,Oe),!pe&&await et()===!1)||!ae.isCurrent(oe)||(await ft(_e),!ae.isCurrent(oe)))return;N("playing"),M("playMode")}catch{}},uo=async()=>{const ee=me.current,pe=ue.current||0;if(!ee||pe<=0){await Gt();return}await ya(pe-1)},po=async()=>{const ee=me.current,pe=ue.current||0;if(!ee||pe>=ee.length-1){co();return}await ya(pe+1)},Za=()=>{if(De.current)return;const ee=200,pe=340;Qe(!0),qe(),xt();try{X(1)}catch{}ut(1);try{Z("hold")}catch{}try{const oe=g.current,_e=ie&&!!oe?.src;if(!ie||_e){if(oe){oe.pause();try{oe.currentTime=0}catch{}}}else At();vt()}catch{}try{N("stopped")}catch{}if(Q(!1),!Ve.current)try{Ue.current&&(clearTimeout(Ue.current),Ue.current=null),Ue.current=setTimeout(()=>{try{Z("out")}catch{}Ue.current=setTimeout(()=>{try{typeof Be.current=="function"&&Be.current(!0)}catch{}try{Z("idle")}catch{}Ue.current=null},pe)},ee)}catch{}};s.useEffect(()=>{yt.current=Za});const ra=s.useCallback(()=>je(""),[]),Jt=async ee=>{(me.current||[])[ee]&&await ya(ee,{sameSegment:ee===ue.current})},Ht=G==="playing",Aa=s.useMemo(()=>{if(!F||F.length<=1)return F;const ee=F[L];return ee?[ee]:F},[F,L]),Qt=n===!0;s.useEffect(()=>{try{const ee=g.current;ee&&typeof ee.playbackRate=="number"&&Je(ee)}catch{}},[be,Je]);const ha=s.useRef({raf:null,timer:null});s.useEffect(()=>{const ee=g.current;if(!ee)return;const pe=Math.max(0,Math.min(1,le)),oe=ha.current,_e=()=>{oe.raf!==null&&(cancelAnimationFrame(oe.raf),oe.raf=null),oe.timer!==null&&(clearTimeout(oe.timer),oe.timer=null)};_e();const Oe=dr(ee);if(ee.paused||Math.abs(Oe-pe)<.001||typeof requestAnimationFrame!="function"){try{za(ee,pe)}catch{}return}const He=performance.now(),rt=()=>{const Ct=Math.min(1,(performance.now()-He)/150);try{za(ee,Oe+(pe-Oe)*Ct)}catch{}oe.raf=Ct<1?requestAnimationFrame(rt):null};return oe.raf=requestAnimationFrame(rt),oe.timer=setTimeout(()=>{_e();try{za(ee,pe)}catch{}},200),_e},[le]);const Ft=Y==="hold",na=Y==="out",de=K==="playMode"&&!S&&!Pe||Ft||na,Ne=G!=="stopped"||Ft||na,$e=G==="paused",Ke=Math.max(0,Math.min(100,(P||0)*100)),Ge=Se("audio-player__fill",de?"is-visible":"",Ne?"is-expanded":"",$e?"is-paused":"",na?"is-out":"");return r.jsxs("div",{className:`audio-player ${Qt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[r.jsxs("div",{className:`audio-player__panel ${Ht?"is-playing":""} ${S?"is-loading":""} ${K!=="default"?"is-revealed":""}`,children:[S?r.jsxs("div",{className:"audio-player__loading",role:Fv[z]?"status":void 0,"aria-live":Fv[z]?"polite":"off",children:[r.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),r.jsx("span",{className:"audio-player__loading-text",children:p("training.audioStatus.preparing",{defaultValue:"\uC18C\uB9AC\uB97C \uC900\uBE44\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026"})})]}):null,K==="active"?r.jsx("button",{className:"audio-player__button",type:"button",disabled:Qt,onClick:()=>{W.current=ss(),E(),oa()},"aria-label":typeof m=="string"?m:p("training.listen","\uB4E3\uAE30"),onMouseEnter:B,onMouseLeave:E,onFocus:B,onBlur:E,children:r.jsx("span",{ref:_,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:A,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,k&&r.jsx(La,{anchorRect:k,text:typeof m=="string"&&m?m:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),r.jsxs("div",{className:`audio-player__play ${K==="playMode"||Ht?"is-visible":""}`,inert:!(K==="playMode"||Ht)||void 0,children:[r.jsxs("div",{ref:C,className:"audio-player__buttons",children:[r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:uo,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Ht?"pause":"play",onClick:oa,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Ht,width:"60px",variant:"transparent-white",disabled:K!=="playMode"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:co,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),at>1?r.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:at}).map((ee,pe)=>r.jsx(ve,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(pe+1),onClick:()=>{try{Jt(pe)}catch{}},ariaLabel:p("training.sourcePlay",{n:pe+1}),variant:"transparent-white",selected:O&&L===pe,disabled:K!=="playMode"||!(Array.isArray(R)&&R[pe]),showTooltipInfo:!0},pe))}):null,!Array.isArray(R)||R.length<=1?r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Gt,ariaLabel:p("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"}):null,r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:po,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:K!=="playMode"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:Za,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"})]}),r.jsxs("div",{className:"audio-player__slider",children:[r.jsx("div",{className:Ge,ref:b,style:{left:`${Ke}%`},"aria-hidden":"true"}),(c||u)&&r.jsx(RE,{segments:Aa,progress:P,totalDuration:ce,waveProgressRef:xe,showSoundWaveForm:c,leadInMs:d,tailMs:h,trackDurationSec:R?.[L]?.duration??0,noiseSrc:u&&v?.settings.enabled&&H>0?nt:null,noiseRatio:v?Fr(v.settings):0,noiseSpeed:v?.settings.speed??1,mainVolume:J,onReadyChange:it})]})]}),r.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&r.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[r.jsx(ot,{icon:"triangle-alert",size:14}),p("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),r.jsx(Qo,{message:he,position:ye,onClose:ra})]})}var VE=".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)}";se(VE);function Wr(e){const{t}=we.useTranslation(),{text:a,label:o,anchorRect:n=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[u,d]=s.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});s.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:h,decrease:p,canIncrease:m,canDecrease:v,fontSize:x,lineHeight:g}=Pi({storageKey:"tooltip-fontScale"}),b=s.useCallback(()=>d(A=>A==="dark"?"light":"dark"),[]),C=s.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),f=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${x}px`,lineHeight:`${g}px`,"--tt-line-height":`${g}px`,"--tt-marker-size":"28px"},y=r.jsxs("div",{className:`tooltip-textbox__root ${u==="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:w,children:f.map((A,_)=>r.jsxs("div",{className:"tooltip-textbox__line",children:[f.length>1?r.jsx("div",{className:"tooltip-textbox__marker",children:r.jsx("span",{className:"tooltip-textbox__line-number button-1",children:_+1})}):null,r.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},_))})]}),r.jsxs("div",{className:"tooltip-textbox__buttons",children:[r.jsx(ve,{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:u==="dark"?"transparent-white":"transparent-gray",disabled:!v}),r.jsx(ve,{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:u==="dark"?"transparent-white":"transparent-gray",disabled:!m}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:b,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:C,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return n?r.jsx(ka,{anchorRect:n,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:o||t("tooltip.textbox","\uBCF8\uBB38"),children:y}):r.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:y})}var UE=".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;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;height:56px;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}}@media (max-width:1024px){.ihabdevteam-core-scope .pp-bottom__meters{height:50px;padding:4px 12px}}@media (max-width:768px){.ihabdevteam-core-scope .pp-bottom__meters{height:46px;padding:2px 10px}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .pp-bottom__meters--floating{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-trigger{display:inline-flex;flex-shrink:0}.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__locked-hint{color:var(--color-gray);margin:0}.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}";se(UE);var qE='.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}}';se(qE);function bp({state:e="disabled"}){const{t}=we.useTranslation();return r.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[r.jsx("div",{className:"bullet__dot",children:r.jsx(ot,{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 Hv(e,t,a){const o=s.useRef(t),n=s.useRef(a);s.useEffect(()=>{o.current=t,n.current=a}),s.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const c=()=>{i=null;const u=o.current(),d=u?Array.from(u.querySelectorAll(Ga)).find(h=>!h.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const u=document.activeElement;if(!u||u===document.body||!document.contains(u)||u.closest(".tooltip-content")){const d=n.current();if(d)try{d.focus()}catch{}}}},[e])}var YE=".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)}";se(YE);function gp({title:e,children:t,className:a="",state:o="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:h=!1}){const{t:p}=we.useTranslation(),m=ua("(max-width: 767px)"),v=`training-step__title h4 ${c&&o==="disabled"?"training-step__title--faded":""} ${a}`.trim(),x=`training-step__title-row training-step__title-row--${o}`.trim(),g=s.useRef(null),[b,C]=s.useState(!1),[f,w]=s.useState(null),[y,A]=s.useState(null);Hv(b&&!!f,()=>{if(typeof document>"u")return null;const S=Array.from(document.querySelectorAll(".tooltip-content"));for(let D=S.length-1;D>=0;D--)if(S[D].querySelector(".tooltip-textbox__root"))return S[D];return null},()=>g.current?.querySelector("button")??null);const _=s.useRef(i);s.useEffect(()=>{_.current=i});const k=s.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(S=>typeof S=="string"||typeof S=="number")?l.join(""):"",[l]),B=s.useCallback(()=>{C(!1),w(null),A(null)},[]);s.useEffect(()=>{if(!b)return;let S;try{typeof _.current=="function"&&(S=_.current())}catch{}if(S===!1){B();return}A(typeof S<"u"&&S!==null?S:null)},[k]);const E=s.useCallback(()=>{let S;try{typeof i=="function"&&(S=i())}catch{}if(S!==!1){if(A(typeof S<"u"&&S!==null?S:l),!g.current){C(D=>!D);return}if(b)C(!1),w(null),A(null);else{const D=g.current.getBoundingClientRect();w(D),C(!0)}}},[i,l,b]);return r.jsxs("div",{className:x,children:[r.jsx("p",{className:v,children:r.jsx("span",{className:"training-step__title-text",children:e??t})}),n||u?r.jsxs("div",{className:"title-controls",children:[r.jsxs("div",{className:"title-buttons",children:[u&&r.jsx(ve,{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:d,variant:o==="disabled"?"disabled":"default",disabled:o==="disabled"||h,onDisabledClick:h&&o!=="disabled"?()=>{}:void 0}),n&&r.jsx("div",{ref:g,children:r.jsx(ve,{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:E,className:b?"is-selected":void 0,"aria-expanded":b,"aria-haspopup":"dialog",variant:o==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),b&&r.jsx(Wr,{text:y??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:f,onClose:B,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function fp(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function No({index:e,stepIndex:t,isLast:a=!1,title:o="",titleProps:n={},children:i,className:l="",onDone:c=void 0,useTitleFaded:u=void 0,lockedHint:d}){const{t:h}=we.useTranslation(),[p,m]=s.useState(()=>fp(e,t));s.useEffect(()=>{const _=fp(e,t);if(_!==p){const k=setTimeout(()=>m(_),0);return()=>clearTimeout(k)}},[e,t,p]);const v=s.useCallback((..._)=>{fp(e,t)==="done"||p==="done"||typeof c=="function"&&c(..._)},[e,t,p,c]),[x,g]=s.useState(!1),[b,C]=s.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),f=s.useCallback(_=>{if(!_)return null;try{const k=_;if(typeof _=="object"&&(k.currentTarget||k.target)&&(k.nativeEvent||k.type)){const S=k.currentTarget??k.target;if(S&&typeof S.getBoundingClientRect=="function")return S.getBoundingClientRect()}if(_ instanceof DOMRect)return _;const B=_;if(B&&typeof B.getBoundingClientRect=="function")return B.getBoundingClientRect();const E=_?.current;return E&&typeof E.getBoundingClientRect=="function"?E.getBoundingClientRect():null}catch{return null}},[]),w=s.useCallback((_,{text:k="",label:B="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:E=!1,alignX:S="center",alignY:D="top"}={})=>{const z=f(_);C({text:k,label:B,anchorRect:z,backdrop:E,alignX:S,alignY:D}),g(!0)},[f]),y=s.useCallback(()=>{g(!1),C(_=>({..._,anchorRect:null}))},[]),A=s.Children.map(i,_=>{if(s.isValidElement(_)){const k=_;if(typeof k.type=="string")return k;const B=k.props??{},E=typeof B.onDone=="function"?B.onDone:v,S=typeof B.disabled=="boolean";let D=p==="disabled";return S&&(D=!!B.disabled),s.cloneElement(k,{onDone:E,disabled:D,showTooltip:w,hideTooltip:y})}return _});return r.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[r.jsx(bp,{state:p}),r.jsxs("div",{className:"training-step__content",children:[r.jsx(gp,{state:p,title:o,...n,useFaded:u}),p==="disabled"&&d&&typeof e=="number"&&typeof t=="number"&&e===t+1&&r.jsx("p",{className:"training-step__locked-hint caption-1",role:"status",children:d}),A]}),x?r.jsx(ka,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:y,ariaLabel:h("tooltip.textbox","\uBCF8\uBB38"),children:r.jsx(Wr,{text:b.text,onClose:y})}):null]})}var KE='.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)}';se(KE);function vp({context:e,state:t="disabled",theme:a="light"}){const{t:o}=we.useTranslation(),[n,i]=s.useState("disabled"),[l,c]=s.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});s.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const u=()=>c(T=>T==="dark"?"light":"dark"),{increase:d,decrease:h,canIncrease:p,canDecrease:m,fontSize:v,lineHeight:x}=Pi({storageKey:"textbox_fontScale"}),[g,b]=s.useState(""),C=s.useRef(null),f=s.useRef(!1),w=s.useCallback(()=>{f.current=ss()&&!!C.current&&C.current.contains(document.activeElement),i("active")},[]),y=s.useCallback(()=>b(""),[]),A=T=>{try{b(T)}catch{}},_=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");s.useEffect(()=>{if(t!=="disabled"){const T=setTimeout(()=>i(t),0);return()=>clearTimeout(T)}},[t]);const k=s.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[B,E]=s.useState(k);B!==k&&(E(k),i("disabled"));const S=t==="disabled"?n:t,D=S==="disabled"?"training-text-box--disabled":S==="active"?"training-text-box--active":S==="done"?"training-text-box--done":"",z=s.useMemo(()=>({fontSize:`${v}px`,lineHeight:`${x}px`}),[v,x]);return s.useEffect(()=>{if(S==="disabled"||!f.current)return;f.current=!1;const T=document.activeElement;T&&T!==document.body||C.current?.querySelector(".training-text-box__buttons button")?.focus()},[S]),r.jsxs("div",{ref:C,className:`training-text-box ${D} ${S!=="disabled"&&l==="dark"?"is-dark":""}`,children:[S==="disabled"&&r.jsx("div",{className:"training-text-box__preview",children:r.jsx(ve,{htmlType:"button",size:48,type:"bar",onClick:w,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:z,children:k})}),S!=="disabled"&&r.jsxs("div",{className:"training-text-box__buttons","aria-hidden":S==="disabled",children:[r.jsx(ve,{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:l==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),r.jsx(ve,{htmlType:"button",size:32,type:"dot",onClick:d,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:l==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:o("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),r.jsx(Qo,{message:g,position:"top",onClose:y})]})}function rr(e){return e==="active"||e==="done"}function ys({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,useTitleFaded:i,onDone:l,onChange:c,answer:u,wrongAnswers:d,choices:h,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:v=!1,choiceIcons:x,shuffleChoices:g=!0}){const{t:b}=we.useTranslation(),C=n??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",y=Array.isArray(h)&&h.length?h:typeof u<"u"?[u].concat(Array.isArray(d)?d:[]):void 0,A=d?d.join("||"):"",_=h?h.join("||"):"",[k,B]=s.useState(()=>Array.isArray(y)?g?st(y):y.slice():void 0);s.useEffect(()=>{Array.isArray(y)&&y.length?B(g?st(y):y.slice()):B(void 0)},[u,A,_,g]);const[E,S]=s.useState(null),[D,z]=s.useState(()=>new Set);s.useEffect(()=>{S(null),z(new Set)},[_,u,A]);const T=s.useRef(void 0);s.useEffect(()=>{const j=T.current;typeof j=="number"&&typeof t=="number"&&typeof e=="number"&&j>=e&&t<e&&(S(null),z(new Set)),T.current=t},[t,e]);const G=s.useCallback(j=>{if(!rr(w))return;const P=k?.[j];if(P==null)return;const X=P;if(p){const K=new Set(D);K.has(X)?K.delete(X):K.add(X),z(K),typeof c=="function"&&c({selectedValues:[...K],__ts:Date.now()}),typeof l=="function"&&l({selectedValues:[...K],__ts:Date.now()})}else S(X),typeof c=="function"&&c({selectedIndex:j,selectedValue:X,__ts:Date.now()}),typeof l=="function"&&l({selectedIndex:j,selectedValue:X,__ts:Date.now()})},[k,w,p,c,D]),N=`training-step__buttons${Array.isArray(k)&&k.length>3?" training-step__buttons--wrap-3":""}`;return r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:C,useTitleFaded:i,children:r.jsx("div",{className:N,children:Array.isArray(k)&&k.length>0?k.map((j,P)=>r.jsx(ve,{htmlType:"button",size:56,type:"bar",onClick:()=>G(P),ariaLabel:String(j),label:j,useLabel:!0,icon:x?x[String(j)]:void 0,variant:"default",disabled:w==="disabled",selected:p?D.has(j):E===j,useDisabledCovered:v,minWidth:0},String(j))):null})})}function _s({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,onDone:i,onChange:l,context:c,demoSelected:u}){const{t:d}=we.useTranslation(),h=n??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,m=typeof t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",v=c&&typeof c=="object"?c.sentence||"":typeof c=="string"?c:"",x=c&&typeof c=="object"?c.choices:void 0,[g,b]=s.useState(u??null),C=`${String(v)}\0${JSON.stringify(x??null)}`,[f,w]=s.useState(C);f!==C&&(w(C),u==null&&b(null));const[y,A]=s.useState(u);Object.is(y,u)||(A(u),b(u??null));const _=s.useRef(void 0);s.useEffect(()=>{const S=_.current;typeof S=="number"&&typeof t=="number"&&typeof e=="number"&&S>=e&&t<e&&u==null&&b(null),_.current=t},[t,e,u]);const k=s.useCallback(S=>{const D=typeof S=="object"&&S!==null?Object.assign({},S,{__ts:Date.now()}):{value:S,__ts:Date.now()};typeof l=="function"&&l(D),rr(m)&&typeof i=="function"&&i(D)},[l,m,i]),B=s.useCallback(()=>{rr(m)&&(b(!1),k(!1))},[k,m]),E=s.useCallback(()=>{rr(m)&&(b(!0),k(!0))},[k,m]);return r.jsxs(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:h,onDone:i,useTitleFaded:!1,children:[r.jsx(vp,{context:c,state:m}),r.jsx("div",{className:"training-step__buttons",children:Array.isArray(x)&&x.length>0?x.slice(0,6).map((S,D)=>r.jsx(ve,{htmlType:"button",size:56,type:"bar",onClick:()=>{rr(m)&&(b(D),k&&k(D))},disabled:m==="disabled",ariaLabel:String(S),label:S,variant:m,selected:g===D},D)):r.jsxs(r.Fragment,{children:[r.jsx(ve,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="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(ve,{htmlType:"button",size:56,type:"bar",onClick:E,disabled:m==="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 ws({index:e,stepIndex:t,isLast:a=!1,title:o,onDone:n,btnLabel:i,soundSrc:l,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:h,disabled:p,_pageIndex:m,showSoundWaveForm:v,showNoiseWaveForm:x,leadInMs:g,tailMs:b}){const{t:C}=we.useTranslation(),f=o??C("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),w=p??(typeof t=="number"&&typeof e=="number"?e>t:!1);return r.jsx(No,{index:e,stepIndex:t,isLast:a,title:f,onDone:n,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:h},children:r.jsx(Vn,{soundSrc:l,ttsText:l?null:d??f,bucketPath:c,btnLabel:i||C("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:v,showNoiseWaveForm:x,leadInMs:g,tailMs:b},`audio-p${m??0}-s${e}`)})}var XE=".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--full{max-width:none;padding:0}.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%}";se(XE);var ZE=".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}";se(ZE);const JE=[];function ks({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,onDone:i,onChange:l,context:c=JE}){const{t:u}=we.useTranslation(),d=n??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),h=q=>typeof q=="string"?q:q&&(q.context||q.sentence||q.question||"")||"",[p,m]=s.useState(Array.isArray(c)?c:[]),[v,x]=s.useState(()=>(p||[]).map((q,L)=>({id:L,text:h(q)}))),g=s.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),b=g!=="disabled",C=s.useRef(void 0),f=s.useRef(void 0);s.useEffect(()=>{if(C.current===c)return;C.current=c;const q=Array.isArray(c)?c:[];m(q);const L=(I=>{const O=(I||[]).map((be,J)=>({id:J,text:h(be)}));if(O.length<=1)return O;const Q=(be,J)=>{if(be.length!==J.length)return!1;for(let H=0;H<be.length;H++)if(be[H].text!==J[H].text)return!1;return!0};let ce=st(O),ne=0;for(;Q(ce,O)&&ne<20;)ce=st(O),ne+=1;return ce})(q);x(L);try{if(typeof l=="function"){const I=L.filter((O,Q)=>O.text===h(q[Q])).length;l({shuffled:L,score:I,total:(q||[]).length,initial:!0,__ts:Date.now()})}if(typeof i=="function"&&g==="active"){const I=L.filter((O,Q)=>O.text===h(q[Q])).length;f.current=c,i({shuffled:L,score:I,total:(q||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[c]),s.useEffect(()=>{if(g!=="active"||f.current===c||(f.current=c,typeof i!="function"))return;const q=Array.isArray(c)?c:[],L=v.filter((I,O)=>I.text===h(q[O])).length;i({shuffled:v,score:L,total:q.length,initial:!0,__ts:Date.now()})},[g,c]);const w=(q,L)=>{const I=[...v],O=q+L;if(O<0||O>=I.length)return;const Q=I[O];I[O]=I[q],I[q]=Q,X(I);try{if(typeof i=="function"&&g==="active"){const ce=I.filter((ne,be)=>ne.text===h(p[be])).length;i({shuffled:I,score:ce,total:(p||[]).length,__ts:Date.now()})}}catch{}},[y,A]=s.useState(null),_=s.useRef(null),k=s.useRef(null),B=s.useRef(null),E=s.useRef(null),S=s.useRef(null),D=s.useRef({x:0,y:0}),z=s.useRef(null),T=s.useRef({dx:0,dy:0}),G=()=>{if(z.current!==null)return;const q=()=>{if(!_.current){z.current=null;return}z.current=requestAnimationFrame(q);const L=D.current,I=T.current||{dx:0,dy:0};_.current&&(_.current.style.transform=`translate3d(${L.x-I.dx}px, ${L.y-I.dy}px, 0)`)};z.current=requestAnimationFrame(q)},N=s.useRef(new Map),j=s.useRef(new Map),P=()=>{const q=new Map;return N.current.forEach((L,I)=>{L&&L.getBoundingClientRect&&q.set(I,L.getBoundingClientRect())}),q},X=q=>{const L=P();x(q);try{if(typeof l=="function"){const I=q.filter((O,Q)=>O.text===h(p[Q])).length;l({shuffled:q,score:I,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const I=P();q.forEach(O=>{const Q=L.get(O.id),ce=I.get(O.id),ne=N.current.get(O.id);if(!ne||!Q||!ce)return;const be=Q.top-ce.top;be&&(ne.style.transition="none",ne.style.transform=`translateY(${be}px)`,requestAnimationFrame(()=>{ne.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",ne.style.transform="";const J=()=>{ne.style.transition="",ne.removeEventListener("transitionend",J)};ne.addEventListener("transitionend",J)}))})})},K=(q,L)=>{try{try{L.dataTransfer?.setData("text/plain",String(q))}catch{}try{L.dataTransfer&&(L.dataTransfer.effectAllowed="move")}catch{}try{const I=document.createElement("div");I.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(I),L.dataTransfer?.setDragImage(I,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(I)}catch{}})}catch{}}catch{}A(q);try{const I=v[q],O=document.createElement("div");O.className="order-list__dragging-object order-list__dragging-object--visible",O.textContent=I&&I.text?I.text:"",document.body.appendChild(O),_.current=O;const Q=N.current.get(I.id);let ce=L.clientX||0,ne=L.clientY||0;try{if(Q&&Q.getBoundingClientRect){const Z=Q.getBoundingClientRect();ce=Z.left+Z.width/2,ne=Z.top+Z.height/2}}catch{}const be=O.getBoundingClientRect(),J=be.width/2,H=be.height/2;T.current={dx:J,dy:H},O.style.transition="none",D.current={x:ce,y:ne},O.style.transform=`translate3d(${ce-J}px, ${ne-H}px, 0)`,requestAnimationFrame(()=>{try{O.style.transition=""}catch{}G()});const le=Z=>{const he=Z;D.current={x:he.clientX,y:he.clientY},G()};B.current=le,document.addEventListener("mousemove",le);const Y=Z=>{const he=Z;D.current={x:he.clientX,y:he.clientY},G()};k.current=Y,document.addEventListener("dragover",Y);try{L.dataTransfer?.setData("text/plain",String(q));try{L.dataTransfer?.setData("application/json",JSON.stringify({idx:q}))}catch{}}catch{}}catch{}},M=(q,L)=>{L.preventDefault();try{L.dataTransfer&&(L.dataTransfer.dropEffect="move")}catch{}try{S.current!==null&&(clearTimeout(S.current),S.current=null);const I=L.currentTarget&&L.currentTarget.closest?L.currentTarget.closest(".order-list__item"):null;if(I&&E.current!==I){if(E.current)try{E.current.classList.remove("drag-over")}catch{}try{I.classList.add("drag-over")}catch{}E.current=I}}catch{}},W=(q,L)=>{L.preventDefault();const I=L.dataTransfer?.getData("text/plain")||"",O=I?parseInt(I,10):y,Q=q;if(typeof O!="number"||isNaN(O)||O===Q){A(null),F(),R();return}const ce=ql(v,O,Q);X(ce),A(null),R();try{if(typeof i=="function"&&g==="active"){const ne=ce.filter((be,J)=>be.text===h(p[J])).length;i({shuffled:ce,score:ne,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const ne=document.querySelectorAll(".order-list .order-list__item")[Q];if(!ne)return;const be=ne.querySelector(".order-list__slot")||ne;try{be.classList.add("pulse"),be.offsetHeight,be.classList.add("to-dark");const J=()=>{be.classList.remove("pulse","to-dark"),be.removeEventListener("transitionend",J)};be.addEventListener("transitionend",J)}catch{}})}catch{}F()},R=()=>{if(_.current){try{document.body.removeChild(_.current)}catch{}_.current=null}k.current&&(document.removeEventListener("dragover",k.current),k.current=null),B.current&&(document.removeEventListener("mousemove",B.current),B.current=null),z.current!==null&&(cancelAnimationFrame(z.current),z.current=null)},U=()=>{A(null),F(),R()};s.useEffect(()=>()=>R(),[]);const F=()=>{try{if(S.current!==null&&(clearTimeout(S.current),S.current=null),E.current){try{E.current.classList.remove("drag-over")}catch{}E.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(q=>q.classList.remove("drag-over"))}catch{}};return s.useEffect(()=>{try{const q=Math.max(1,(v||[]).length);v.forEach((L,I)=>{const O=j.current.get(L.id);if(!O)return;let Q=50;q>1&&(Q=Math.round(I/(q-1)*100));try{O.style.setProperty("--marker-pos",Q+"%")}catch{}})}catch{}},[v]),s.useEffect(()=>()=>{R(),S.current!==null&&(clearTimeout(S.current),S.current=null)},[]),r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:d,children:r.jsx("div",{className:"order-list",children:v.map((q,L)=>{const I=Math.max(1,(v||[]).length),O=I>1?Math.round(L/(I-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":O+"%"},ref:Q=>{const ce=j.current;Q?ce.set(q.id,Q):ce.delete(q.id)},children:r.jsx("span",{className:"order-list__slot-number button-1",children:L+1})}):null,r.jsxs("div",{ref:Q=>{const ce=N.current;Q?ce.set(q.id,Q):ce.delete(q.id)},className:`order-list__draggable ${y===L?"dragging":""}`,"data-disabled":g==="disabled","aria-disabled":g==="disabled",tabIndex:g==="disabled"?-1:0,draggable:b,onDragStart:b?Q=>K(L,Q):void 0,onDragEnter:b?Q=>M(L,Q):void 0,onDragOver:b?Q=>M(L,Q):void 0,onDragLeave:b?()=>{try{S.current!==null&&clearTimeout(S.current),S.current=setTimeout(()=>{try{const Q=document.querySelectorAll(".order-list .order-list__item");Q&&Q[L]&&(Q[L].classList.remove("drag-over"),E.current===Q[L]&&(E.current=null))}catch{}},80)}catch{}}:void 0,onDrop:b?Q=>W(L,Q):void 0,onDragEnd:b?U:void 0,children:[r.jsx("span",{className:"order-list__item-text body-2",children:q.text}),b?r.jsxs("span",{className:"order-list__item-buttons",children:[r.jsx(ve,{htmlType:"button",size:32,type:"dot",onClick:()=>w(L,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===0,useBorder:!1,useDisabledInvisible:!0}),r.jsx(ve,{htmlType:"button",size:32,type:"dot",onClick:()=>w(L,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===v.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},q.id)})})})}var QE="";se(QE);const eD=8e3;function tD(e,t){return new Promise(a=>{let o=!1;const n=()=>{o||(o=!0,a())};e.then(n,n),setTimeout(n,t)})}function xp({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,onDone:i,onChange:l,context:c=[],selectable:u=!1,hideLabel:d=!1,hideAudio:h=!1,maxCards:p,playAllGapMs:m=0}){const{t:v}=we.useTranslation(),x=n??v("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=s.useMemo(()=>Array.isArray(c)?c:c&&c.items||[],[c]),b=p??3,C=(g||[]).slice(0,b);(g||[]).length>b&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${b} shown`);const f=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",[y,A]=s.useState(null),_=s.useRef([]),[k,B]=s.useState(!1),E=s.useRef(null),S=s.useRef(!0);s.useEffect(()=>(S.current=!0,()=>{S.current=!1}),[]);const D=s.useMemo(()=>g.map(P=>P?.id??P?.word??"").join("|"),[g]);s.useEffect(()=>{A(null)},[D]);const z=s.useRef(void 0);s.useEffect(()=>{const P=z.current;typeof P=="number"&&typeof t=="number"&&typeof e=="number"&&P>=e&&t<e&&A(null),z.current=t},[t,e]);const T=s.useCallback((P,X)=>{if(u)return;const K={item:P,index:X,__ts:Date.now()};try{typeof l=="function"&&l(K)}catch{}if(w==="active"&&typeof i=="function")try{i(K)}catch{}},[u,l,w,i]),G=s.useRef(m);s.useEffect(()=>{G.current=Math.max(0,m||0)},[m]);const N=s.useCallback(async()=>{if(k||w==="disabled")return;B(!0);let P=!1;const X=new Promise(K=>{E.current=()=>{P=!0,K()}});try{for(let K=0;K<C.length&&!(!S.current||P);K++){const M=_.current[K];if(!M)continue;await Promise.race([tD(M.play(),eD),X]);const W=Math.max(0,G.current||0);W>0&&K<C.length-1&&!P&&S.current&&await Promise.race([new Promise(R=>{setTimeout(R,W)}),X])}}finally{E.current=null,B(!1)}},[k,w,C.length]),j=s.useCallback((P,X)=>{if(!rr(w))return;A(X);const K={selectedValue:P.word||P.title||"",selectedIndex:X,item:P,__ts:Date.now()};try{typeof l=="function"&&l(K)}catch{}if(typeof i=="function")try{i(K)}catch{}},[l,w,i]);return r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:x,onDone:i,titleProps:{usePlayAllBtn:!h&&C.length>0,onPlayAll:N,playAllActive:k},children:r.jsx("div",{className:"training-step__cards",onClickCapture:P=>{const X=E.current;if(!X)return;const K=P.target;K&&typeof K.closest=="function"&&K.closest(".training-word-card__bottom")&&X()},children:C.length===0?r.jsx("div",{className:"training-step__empty",children:v("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):C.map((P,X)=>r.jsx(cs,{ref:K=>{_.current[X]=K},item:P,disabled:w==="disabled",onPlayDone:()=>T(P,X),selectable:u,selected:u&&y===X,onSelect:u?()=>j(P,X):void 0,flipDelay:X*120,hideLabel:d,hideAudio:h},P&&P.id||X))})})}const aD=160;var oD=".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;grid-gap:var(--panel-grid-gap,1px);background:var(--color-darkWhite);display:grid;gap:1px;gap:var(--panel-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:not(.panel-grid--columns) .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid:not(.panel-grid--columns) .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid--columns{background:transparent;-moz-column-count:2;column-count:2;-moz-column-count:var(--panel-grid-cols,2);column-count:var(--panel-grid-cols,2);-moz-column-gap:1px;column-gap:1px;-moz-column-gap:var(--panel-grid-gap,1px);column-gap:var(--panel-grid-gap,1px);display:block;overflow:visible;padding-bottom:0}.ihabdevteam-core-scope .panel-grid--columns>*{-moz-column-break-inside:avoid;box-sizing:border-box;break-inside:avoid;display:inline-flex;flex-direction:column;margin-bottom:1px;margin-bottom:var(--panel-grid-gap,1px);page-break-inside:avoid;vertical-align:top;width:100%}.ihabdevteam-core-scope .panel-grid--columns>:last-child{margin-bottom:0}.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--fill .panel-row__right{align-items:center;display:flex}.ihabdevteam-core-scope .panel-row--fill .panel-row__right>*,.ihabdevteam-core-scope .panel-row--fill>.dropdown,.ihabdevteam-core-scope .panel-row--fill>.form-input,.ihabdevteam-core-scope .panel-row--fill>.text-field{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}}";se(oD);const Vv=()=>{};function Xa(e){const t=s.useId();if(!("variant"in e)){const{label:f,sub:w,onClick:y,children:A,align:_="horizontal",icon:k,useFullWidth:B=!1}=e,E=S=>{y&&S.target===S.currentTarget&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),y())};return r.jsxs("div",{className:Se("panel-row",_==="vertical"?"panel-row--vertical":"",B?"panel-row--label-fixed panel-row--fill":"",y?"panel-row--clickable":""),onClick:y,onKeyDown:y?E:void 0,role:y?"button":void 0,tabIndex:y?0:void 0,children:[k!=null&&r.jsx("div",{className:"panel-row__icon",children:k}),f!=null&&r.jsxs("div",{className:"panel-row__left",children:[r.jsx("div",{className:"panel-row__label body-3",children:f}),w&&r.jsx("div",{className:"panel-row__sub caption-1",children:w})]}),r.jsx("div",{className:"panel-row__right",children:A})]})}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($r,{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:l,error:c,align:u="horizontal",useFullWidth:d=!1,icon:h}=e,p=a==="button"?void 0:i;let m=null;const v=a==="toggle"?`panel-toggle-${t}`:void 0,x=c?`panel-error-${t}`:void 0,g=`panel-helper-${t}`;if(a==="toggle"){const f=e;m=r.jsx(Nd,{checked:f.checked,onChange:f.onChange,id:v})}else if(a==="segmented"){const f=e;m=r.jsx(Ra,{options:f.options,value:f.value,onChange:f.onChange,size:f.size??40,ariaLabel:o})}else if(a==="dropdown"){const f=e,w=f.dropdowns?.length?r.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:f.dropdowns.map((y,A)=>r.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:r.jsx(xa,{options:y.options,value:y.value,onChange:y.onChange,placeholder:y.placeholder,block:d,error:!!c,ariaDescribedBy:x,ariaLabel:y.ariaLabel??([o,y.placeholder].filter(Boolean).join(" ")||void 0)})},A))}):r.jsx(xa,{options:f.options??[],value:f.value??"",onChange:f.onChange??Vv,block:d,error:!!c,ariaLabel:o,ariaDescribedBy:x});m=c?r.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[w,r.jsx("span",{id:x,className:"caption-1 panel-row__error",role:"alert",children:c})]}):w}else if(a==="button"){const f=e;f.buttons?.length?m=r.jsx("div",{className:"panel-row__button-group",children:f.buttons.map((w,y)=>r.jsx(ve,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},y))}):m=r.jsx(ve,{htmlType:"button",size:f.btnSize??40,variant:f.btnVariant??"default",disabled:f.disabled,onClick:f.onClick,children:f.buttonLabel})}else if(a==="text"){const f=e;m=r.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:f.valueColor?{color:f.valueColor}:void 0,children:f.value})}else if(a==="input"){const f=e;m=r.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[r.jsx(So,{value:f.value,onChange:f.onChange??Vv,onKeyDown:f.onKeyDown,onEnter:f.onEnter,placeholder:f.placeholder,ghostText:f.ghostText,ghostHint:f.ghostHint,inputMode:f.inputMode,readOnly:f.readOnly,disabled:f.disabled,type:f.type,autoComplete:f.autoComplete,maxLength:f.maxLength,showCount:f.showCount,multiline:f.multiline,rows:f.rows,fullWidth:d,error:c,ariaLabel:o,required:l,ariaDescribedBy:f.helperText?g:void 0}),f.helperText&&r.jsx("div",{id:g,className:"panel-row__helper caption-1",children:f.helperText})]})}else a==="custom"&&(m=e.children);c&&a!=="input"&&a!=="dropdown"&&(m=r.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[m,r.jsx("span",{id:x,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const b=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,C=f=>{p&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),p())};return r.jsxs("div",{className:Se("panel-row",u==="vertical"?"panel-row--vertical":"",b?"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:[v?r.jsxs("label",{htmlFor:v,className:"panel-row__label body-3",children:[o,l&&r.jsx("span",{className:"required-mark",children:"*"})]}):r.jsxs("div",{className:"panel-row__label body-3",children:[o,l&&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 Uv(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(o=>!!o&&o!==t);return[...new Set(a)].join(" \xB7 ")}function qv({devices:e,onRelease:t,emptyLabel:a}){const{t:o,i18n:n}=we.useTranslation();return r.jsx("div",{className:"panel-row panel-row--device",children:["left","right"].map(i=>{const l=e[i],c=i==="left"?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:c}),l&&t&&r.jsx(ve,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${c} ${o("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:o("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(i)})]}),l?r.jsxs("div",{className:"panel-row__device-info",children:[r.jsxs("span",{className:"panel-row__device-kind",children:[l.device&&r.jsx(Lt,{size:"small",variant:y0(l.device),fill:"soft",label:_0(l.device,o)}),Uv(l)&&r.jsx("span",{className:"panel-row__device-detail body-3",children:Uv(l)})]}),r.jsx("span",{className:"panel-row__device-name body-2b",children:l.productName||l.brand}),Vd(l.wornYear,l.wornMonth,l.wornDay,n.language)&&r.jsx("span",{className:"panel-row__device-date caption-1",children:o("customers.device.wornSince",{date:Vd(l.wornYear,l.wornMonth,l.wornDay,n.language)})})]}):r.jsx("span",{className:"panel-row__device-empty body-3",children:a??o("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},i)})})}function Un({title:e,titleLevel:t=2,icon:a,disc:o,actions:n,size:i="medium",minHeight:l,maxWidth:c,className:u,scrollable:d,scrollbarGutter:h="auto",compactRows:p=!1,useBorder:m=!0,useBg:v=!0,useRowBorder:x=!0,labelWidth:g,form:b=!1,loading:C,empty:f,children:w}){const y=Se("panel",`panel--${i}`,b?"panel--form":"",l!==void 0?"panel--fill":"",m?"":"panel--no-border",v?"":"panel--no-bg",x?"":"panel--no-row-border",p?"panel--compact-rows":"",u),A={};l!==void 0&&(A.minHeight=l),c!==void 0&&(A.maxWidth=typeof c=="number"?`${c}px`:c),g!==void 0&&(A["--panel-label-width"]=typeof g=="number"?`${g}px`:g);const _=t?`h${t}`:"div";return r.jsxs("div",{className:y,style:Object.keys(A).length?A:void 0,children:[(!!e||o!=null)&&r.jsxs("div",{className:Se("panel__header",o!=null?"panel__header--with-disc":""),children:[a&&r.jsx(ot,{icon:a,label:typeof e=="string"?e:void 0,className:"panel__icon"}),r.jsxs("div",{className:"panel__title-group",children:[!!e&&r.jsx(_,{className:`panel__title ${o!=null?"body-3b":"h5b"}`,children:e}),o!=null&&r.jsx("p",{className:"panel__disc caption-1",children:o})]}),n&&r.jsx("div",{className:"panel__actions",children:n})]}),C?r.jsx(Xa,{variant:"loading"}):f!=null&&s.Children.toArray(w).length===0?r.jsx(Xa,{variant:"empty",children:f}):d?r.jsx("div",{className:Se("panel__body--scroll",h==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function Yv({cols:e=2,layout:t="grid",gap:a=1,collapseAt:o,className:n,style:i,children:l}){const c=s.useRef(null),[u,d]=s.useState();s.useEffect(()=>{const p=c.current;if(o===void 0||!p||(d(p.clientWidth),typeof ResizeObserver>"u"))return;const m=new ResizeObserver(([v])=>d(v.contentRect.width));return m.observe(p),()=>m.disconnect()},[o]);const h=o!==void 0&&u!==void 0&&u<=o;return r.jsx("div",{ref:c,className:Se("panel-grid",t==="columns"&&"panel-grid--columns",n),style:{"--panel-grid-cols":h?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function rD(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 Kv(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"}]}rD(wt.t.bind(wt)),Kv(wt.t.bind(wt));var nD='.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}.ihabdevteam-core-scope .noise-settings__value--disabled{opacity:.4}.ihabdevteam-core-scope .noise-settings__width-ghost{height:0;overflow:hidden;pointer-events:none;visibility:hidden}.ihabdevteam-core-scope .noise-settings__width-ghost .panel-row{border:0;margin:0;min-height:0;padding-bottom:0;padding-top:0}';se(nD);const Bs="none",iD=.5,sD=1.5,lD=.25;function Cp({title:e,valueLabel:t,value:a,min:o,max:n,step:i,tickStep:l,size:c,disabled:u,onChange:d}){return r.jsxs(Xa,{variant:"custom",label:e,useFullWidth:!0,children:[r.jsx(Id,{value:a,onChange:d,min:o,max:n,step:i,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,disabled:u,className:"noise-settings__slider-input"}),r.jsx("div",{className:Se("noise-settings__value","button-1",u?"noise-settings__value--disabled":""),children:t})]})}function yp({anchorRect:e,onClose:t,hideNoiseRows:a=!1}){const{t:o}=we.useTranslation(),n=ua("(max-width: 767px)")?40:24,i=Wn(),l=Fr(i?.settings??Do),c=i?.settings.type??"defaultNoise",u=i?.settings.enabled??!0,d=i?.playbackRate??1,h=i?.mainVolume??1,p=Math.round(h*100),m=s.useCallback(C=>{try{i?.setMainVolume(Math.max(0,Math.min(1,C/100)))}catch{}},[i]),v=s.useCallback(C=>{try{i?.setPlaybackRate(C)}catch{}},[i]),x=s.useCallback(C=>{const f=Math.min(Or,Math.max(0,Math.round(C*10)/10));try{i?.setSettings({noiseRatio:f})}catch{}},[i]),g=s.useCallback(C=>{try{C===Bs?i?.setSettings({enabled:!1}):i?.setSettings({type:C,enabled:!0})}catch{}},[i]),b=[{key:Bs,label:o("training.noise.type.none","\uC5C6\uC74C")},...Kv(o).map(C=>({key:C.value,label:C.label}))];return r.jsx(ka,{anchorRect:e,offset:12,onClose:t,ariaLabel:o("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:r.jsxs("div",{className:"noise-settings__header",children:[r.jsx("span",{children:o("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),r.jsx(ve,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:o("common.close","\uB2EB\uAE30"),onClick:t})]}),children:r.jsxs(Un,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[r.jsx(Cp,{title:o("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:n,onChange:m}),r.jsx(Cp,{title:o("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:iD,max:sD,step:lD,size:n,onChange:v}),!a&&r.jsxs(r.Fragment,{children:[r.jsx(Xa,{variant:"custom",label:o("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:r.jsx(Ra,{ariaLabel:o("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:b,value:u?c:Bs,onChange:g})}),r.jsx(Cp,{title:o("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:o("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:l.toFixed(1)}),value:l,min:0,max:Or,step:dp,size:n,disabled:!u,onChange:x})]}),a&&r.jsx("div",{className:"noise-settings__width-ghost","aria-hidden":"true",inert:!0,children:r.jsx(Xa,{variant:"custom",label:"\xA0",useFullWidth:!0,children:r.jsx(Ra,{ariaLabel:"width-ghost",size:40,shape:"rounded",options:b,value:Bs,onChange:()=>{}})})})]})})}var cD=".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;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;height:56px;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}}@media (max-width:1024px){.ihabdevteam-core-scope .pp-bottom__meters{height:50px;padding:4px 12px}}@media (max-width:768px){.ihabdevteam-core-scope .pp-bottom__meters{height:46px;padding:2px 10px}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .pp-bottom__meters--floating{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-trigger{display:inline-flex;flex-shrink:0}";se(cD);function _p({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:o,stepIndex:n=0,stepCount:i=0,pageIndex:l=0,pageCount:c=1,resultOpen:u=!1,hideNoiseRows:d=!1}){const{t:h}=we.useTranslation(),[p,m]=s.useState(!1),[v,x]=s.useState(null),[g,b]=s.useState(!1),C=s.useRef(null),f=s.useRef(null),w=Wn(),y=c>0,A=y&&l<c-1,_=!y||l>=c-1,k=n===Math.max(0,i);s.useEffect(()=>{e||(m(!1),x(null))},[e]);const B=s.useCallback(()=>{m(!1),x(null)},[]),E=s.useCallback(()=>{if(p){m(!1),x(null);return}const X=C?.current?.getBoundingClientRect();X&&x(X),t?.(),m(!0)},[p,t]),S=s.useCallback(()=>{if(p){m(!1),x(null);return}const X=f?.current?.getBoundingClientRect();X&&x(X),t?.(),m(!0)},[p,t]),D=ua("(max-width: 767px)"),z=s.useRef(null),[T,G]=s.useState(null),N=s.useCallback(()=>{b(X=>{const K=!X;return G(K?z.current?.getBoundingClientRect()??null:null),K})},[]),j=s.useCallback(()=>{b(!1),G(null)},[]);s.useEffect(()=>{u&&(b(!1),G(null))},[u]);const P=r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"pp-bottom__meter",children:[r.jsx("span",{className:"pp-bottom__meter-label caption-1",children:h("training.meter.sentence","\uC7AC\uC0DD")}),r.jsx(ns,{analyser:w?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:h("training.meter.sentence","\uC7AC\uC0DD")})]}),r.jsxs("div",{className:"pp-bottom__meter",children:[r.jsx("span",{className:"pp-bottom__meter-label caption-1",children:h("training.meter.noise","\uC18C\uC74C")}),r.jsx(ns,{analyser:w?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:h("training.meter.noise","\uC18C\uC74C")})]})]});return Hv(e&&p,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[C.current,f.current].map(X=>X?.querySelector("button")??null).find(X=>!!X&&X.getClientRects().length>0)??C.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:C,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:E,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:h("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:h("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),r.jsx("div",{className:"pp-bottom__settings--mobile",children:r.jsx("div",{ref:f,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:S,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:h("training.settings","\uC124\uC815")})})})]}):null,e&&r.jsx("div",{ref:z,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:N,selected:g,"aria-expanded":D?g:void 0,ariaLabel:h("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&g&&!D&&r.jsx("div",{className:"pp-bottom__meters",children:P})]}),e&&g&&D&&T&&r.jsx(ka,{anchorRect:T,onClose:j,ariaLabel:h("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"),children:r.jsx("div",{className:"pp-bottom__meters pp-bottom__meters--floating",children:P})}),r.jsxs("div",{className:"pp-bottom__right",children:[_&&r.jsx(ve,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof o=="function"?o:a,ariaLabel:h("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:h("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!k}),A&&r.jsx(ve,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:h("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:h("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!k})]}),e&&p&&r.jsx(yp,{anchorRect:v,onClose:B,hideNoiseRows:d})]})}var uD=".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}}";se(uD);function wp({title:e,subtitle:t,desc:a,depth:o,icon:n,wrapperStyle:i,iconTooltip:l,pageIndex:c,pageCount:u,progressMax:d,progressIndex:h,onBack:p,onClose:m}){const{t:v}=we.useTranslation(),x=ua("(max-width: 767px)"),g=Number.isInteger(h)?h:c||0,b=Number.isInteger(d)?d:u||0,C=p||m,f=Array.isArray(o)?x?o[o.length-1]:o.join(" / "):o,w=typeof e=="string"?e.trim():e,y=typeof t=="string"?t.trim():t,A=!!(w||y),_=A?w||y:v("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),k=f||(w?t:void 0),B=x&&typeof k=="string"&&(k.includes(" \xB7 ")||k.includes(" / "))?k.split(/\s[·/]\s/).pop():k,E=s.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:[C?r.jsx(ve,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:v("common.back","\uB4A4\uB85C"),onClick:C,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,r.jsx("div",{children:n?r.jsx(Rf,{icon:n,label:e,tooltip:l,wrapperStyle:E}):null}),r.jsxs("div",{className:"pp-title__text",children:[B?r.jsx("span",{className:"pp-title__depth caption-1",children:B}):null,r.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:_}),a?r.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),r.jsx(Gd,{max:Math.max(0,b??0),index:Math.max(0,g??0)})]})}function Xv(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Zv(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 Jv=(e,t)=>{if(!t)return t;const a=typeof wt?.t=="function"?wt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function kp(e,t,a){const o=e,n=o?.title||o?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=_i().find(c=>c.key===(o?.category_0||o?.category_main_code)),l=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?Jv(`topic.${i.key}`,i.label):void 0,l?Jv(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function As(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Bp(e,t,a){if(!e||typeof e!="object"||Array.isArray(e))return e;const o=e,n=typeof a=="number"&&a>0?a:Date.now();return{...o,...o.shownAt===void 0&&t?{shownAt:t}:{},...o.answeredAt===void 0?{answeredAt:new Date(n).toISOString()}:{}}}function Qv(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function e1({idPrefix:e,trainingData:t,depth:a,fallbackTitle:o="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:l,metaPatch:c}){const u=kp(t,a,o),d=typeof c=="function"?c(u)||{}:c||{},h=t?.id||t?.title||n.length;return{id:`${e}:${h}`,meta:{...u,...d},pages:n,emptyMessage:i,buildResults:l}}function t1(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function a1(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 o1(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 Ap(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function r1(e,t,a,o){return Ap(e,t*a+o)}function n1({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 i1(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 s1=s.createContext(null);function dD(){const e=s.useContext(s1);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function pD({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,choices:i=[],onDone:l,onChange:c}){const{t:u}=we.useTranslation(),d=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":d<t?"done":d===t?"active":"disabled",[p,m]=s.useState(()=>i.map(()=>null)),v=JSON.stringify(i),x=i.length;s.useEffect(()=>{m(Array.from({length:x},()=>null))},[v]);const g=s.useRef(void 0);s.useEffect(()=>{const w=g.current;typeof w=="number"&&typeof t=="number"&&typeof e=="number"&&w>=e&&t<e&&m(Array.from({length:x},()=>null)),g.current=t},[t,e,x]);const b=s.useMemo(()=>p.filter(w=>w!==null).length+1,[p]),C=s.useCallback(w=>{if(!rr(h))return;const y=p;let A;if(y[w]!=null){const k=y[w];A=y.map(B=>B!==null&&B>=k?null:B)}else A=[...y],A[w]=b;m(A);const _={selectedOrder:A,words:i,__ts:Date.now()};try{typeof c=="function"&&c(_)}catch{}if(y[w]==null&&A.length>0&&A.every(k=>k!==null))try{typeof l=="function"&&l(_)}catch{}},[h,p,b,c,l,i]),f=n??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:f,onDone:l,children:r.jsx("div",{className:"training-step__cards",children:i.map((w,y)=>r.jsx(cs,{item:{word:w},disabled:h==="disabled",selectable:!0,selected:p[y]!==null,orderRank:p[y],onSelect:()=>C(y),flipDelay:y*120,hideLabel:!1,hideAudio:!0},`${w}-${y}`))})})}function qn(e){return null}qn.__isTrainingPage=!0;function Gr(e,t){const a=dD();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 Sp({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l}=Gr(e,t);return r.jsx(ws,{...a,index:o,stepIndex:n,isLast:i,onDone:l})}function Ep({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(ys,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function Dp({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(_s,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function Np({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(ks,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function jp({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(xp,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function hD({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(pD,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}const l1=3e4,mD=/^(https?:|blob:|data:audio|\/|\.\/)/;function c1(e){return typeof e=="string"&&mD.test(e)?e:null}const bD=e=>typeof e=="string"&&e.trim()!==""?e:null,Tp=Symbol("timed-out");function gD(e,t){if(t<=0)return Promise.resolve(Tp);let a;return Promise.race([Promise.resolve(e),new Promise(o=>{a=setTimeout(()=>o(Tp),t)})]).finally(()=>clearTimeout(a))}function fD(e){return e?Ro()||Jr()?!0:typeof window<"u"&&!!window.speechSynthesis:!1}function vD(e,t){const a=[],o=c1(t);o&&a.push({kind:"raw",resolve:async()=>o});const n=(e??"").trim();if(!n)return a;for(const[i,l]of[["urlResolver",Ro()],["fallbackUrlResolver",Jr()]])l&&a.push({kind:i,resolve:async c=>{let u;try{u=await gD(l(n),c)}catch(h){return Pt(`question-sound-threw-${i}`,`[core] configureTTS \uC758 ${i} \uAC00 \uB358\uC84C\uB2E4 \u2014 \uADF8 \uCC28\uB840\uB294 \uAC74\uB108\uB6F4\uB2E4.`,h),null}return u===Tp?(Pt(`question-sound-slow-${i}`,`[core] configureTTS \uC758 ${i} \uAC00 ${l1}ms \uBC14\uD034 \uC548\uC5D0 \uC548 \uD480\uB838\uB2E4 \u2014 \uADF8 \uCC28\uB840\uB97C \uBC84\uB9AC\uACE0 \uB2E4\uC74C\uC73C\uB85C \uAC04\uB2E4. \uC11C\uBC84 \uD569\uC131\uC744 \uAE30\uB2E4\uB9AC\uB294 \uB9AC\uC878\uBC84\uB77C\uBA74 \uC774 \uC790\uB9AC\uAC00 \uAE38\uC5B4\uC9C4\uB2E4. \uC18C\uB9AC\uAC00 \uC544\uC608 \uC548 \uB098\uBA74 \uC5EC\uAE30\uBD80\uD130 \uBCF4\uB77C.`),null):bD(u)||(Pt(`question-sound-empty-${i}`,`[core] configureTTS \uC758 ${i} \uAC00 \uC8FC\uC18C\uB97C \uC548 \uC92C\uB2E4(\uBC1B\uC740 \uAC83: ${JSON.stringify(u)}) \u2014 \uADF8 \uCC28\uB840\uB294 \uAC74\uB108\uB6F4\uB2E4.`),null)}});return a}function xD(){return Date.now()+l1}const CD=(e,t)=>Math.max(0,e-Date.now())/Math.max(1,t);function yD(e){Pt("question-sound-none",`[core] "${e}" \uC758 \uC18C\uB9AC \uC8FC\uC18C\uB97C \uD55C \uC790\uB9AC\uC5D0\uC11C\uB3C4 \uBABB \uC5BB\uC5C8\uB2E4 \u2014 \uBE0C\uB77C\uC6B0\uC800 \uB0AD\uB3C5\uC73C\uB85C \uAC04\uB2E4. configureTTS \uAC00 \uAC78\uB824 \uC788\uB294\uC9C0, \uB9AC\uC878\uBC84\uAC00 \uC8FC\uC18C\uB97C \uC8FC\uB294\uC9C0 \uC704 \uC904\uB4E4\uC744 \uBCF4\uB77C.`)}var _D=`.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:center;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__replay{flex-shrink:0}.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}
1082
+ `).map((l,c,u)=>r.jsxs(s.Fragment,{children:[l,c<u.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:l=>{e&&(l.preventDefault(),e())},children:i("footer.policy.terms","\uC774\uC6A9\uC57D\uAD00")})}),r.jsx("li",{children:r.jsx("a",{className:"footer-link",href:"#",onClick:l=>{t&&(l.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 uE='.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}}';se(uE);function Sv({logo:e,logoAlt:t="",logoHref:a,links:o=[],actions:n,className:i,containerClassName:l,renderLink:c,menuLabel:u}){const{t:d}=we.useTranslation(),h=u??{open:d("header.menuOpen","\uBA54\uB274 \uC5F4\uAE30"),close:d("header.menuClose","\uBA54\uB274 \uB2EB\uAE30")},[p,m]=s.useState(!1),v=s.useId(),x=s.useRef(null);s.useEffect(()=>{if(!p)return;const C=Uo(()=>{const y=document.getElementById(v);y&&y.contains(document.activeElement)&&x.current?.focus(),m(!1)}),f=typeof window<"u"&&window.matchMedia?window.matchMedia("(min-width: 961px)"):null,w=y=>{y.matches&&m(!1)};return f&&(f.matches&&m(!1),f.addEventListener?.("change",w)),()=>{C(),f?.removeEventListener?.("change",w)}},[p,v]);const g=l?`${l} landing-header__inner`:"landing-header__inner",b=(C,f)=>c?c(C,{onClick:f}):r.jsx("a",{href:C.href,onClick:f,"aria-current":C.current?"page":void 0,children:C.label});return r.jsxs("header",{className:i?`landing-header ${i}`:"landing-header",children:[r.jsxs("div",{className:g,children:[e!=null&&(()=>{const C=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:C}):r.jsx("div",{className:"landing-header__brand",children:C})})(),o.length>0&&r.jsx("nav",{className:"landing-header__links",children:o.map((C,f)=>r.jsx("span",{children:b(C)},`${f}:${C.href}`))}),r.jsxs("div",{className:"landing-header__actions",children:[n,o.length>0&&r.jsx("button",{ref:x,type:"button",onClick:()=>m(C=>!C),"aria-expanded":p,"aria-controls":v,"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:v,hidden:!p,className:"landing-header__drawer",children:r.jsx("div",{className:l??void 0,children:o.map((C,f)=>r.jsx("span",{className:"landing-header__drawer-item",children:b(C,()=>m(!1))},`${f}:${C.href}`))})})]})}var dE=".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}}";se(dE);function Ev({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,...B0(a),children:[r.jsx("div",{className:"bottom-sticky__content",children:e}),t]})})}function pE({mountedRef:e}){const t=s.useRef({phase:"sound",at:0}),a=s.useRef(0),o=s.useRef(null),n=s.useRef(null),i=s.useCallback(()=>{const g=t.current,b=g.phase!=="sound"&&g.at>0;n.current=b?{phase:g.phase,elapsed:Math.max(0,Date.now()-g.at)}:null},[]),l=s.useCallback(()=>{const g=n.current;return n.current=null,g},[]),c=s.useCallback(()=>{a.current+=1,t.current={phase:"sound",at:0}},[]),u=s.useCallback((g,b,C=0)=>{if(!(g>0))return Promise.resolve(!0);const f=a.current;return t.current={phase:b,at:Date.now()-Math.max(0,C)},new Promise(w=>{const y=setTimeout(()=>{o.current===y&&(o.current=null),w(!!e.current&&f===a.current)},g);o.current=y})},[e]),d=s.useCallback(()=>{t.current={phase:"sound",at:Date.now()}},[]),h=s.useCallback(()=>{t.current={phase:"sound",at:0}},[]),p=s.useCallback(()=>{const g=t.current;return g.phase!=="sound"&&g.at>0},[]),m=s.useCallback(()=>a.current,[]),v=s.useCallback(g=>g===a.current,[]),x=s.useCallback(()=>{a.current+=1},[]);return s.useEffect(()=>()=>{o.current&&(clearTimeout(o.current),o.current=null)},[]),s.useMemo(()=>({positionRef:t,isRunning:p,generation:m,isCurrent:v,abort:c,waitPad:u,enterSound:d,leave:h,pause:i,resume:l,__bumpGenerationForTest:x}),[p,m,v,c,u,d,h,i,l,x])}const or=9,Dv=e=>Math.round(Math.min(or,Math.max(0,e))/or*100),Nv=e=>e/100*or,Or=2,dp=.1,hE=e=>Math.min(Or,Math.max(0,e)),mE=.1,bE=e=>Math.round(e*1e6)/1e6;function Fr(e){const{noiseRatio:t}=e;if(typeof t=="number"&&Number.isFinite(t))return hE(t);const a=Math.min(or,Math.max(0,Number(e.level)||0))/or,o=Number(e.mainVolume);return o>0?a>0?bE(Math.min(Or,Math.max(mE,a/o))):0:1}const jv=e=>Math.min(1,Math.max(0,Number(e.mainVolume)||0));function pp(e){return jv(e)}function gs(e){return jv(e)*Fr(e)}function fs(e,t=el()){const a=Number.isFinite(t)&&t>0?t:1;return Math.min(1,gs(e)/a)}function Eo(e,t){const a={...e,...t??{}};return t&&"level"in t&&typeof t.noiseRatio!="number"&&(a.noiseRatio=Fr({level:a.level,mainVolume:a.mainVolume})),a}const Do={enabled:!0,type:"defaultNoise",level:4.5,noiseRatio:1,speed:1,mainVolume:1,mainSpeed:1},vs=s.createContext(null);function Wn(){return s.useContext(vs)}const hp=e=>`${Qs()}/${e}`,Tv=e=>Array.from({length:10},(t,a)=>hp(`${e}-${String(a+1).padStart(2,"0")}.mp3`)),xs={get defaultNoise(){return hp("noise1.mp3")},get street(){return Tv("noise2")},get restaurant(){return Tv("noise3")},get buzz(){return hp("noise4.mp3")}};function gE(e){const t=Math.floor(Math.random()*10);switch(e){case"defaultNoise":return xs.defaultNoise;case"street":return xs.street[t];case"restaurant":return xs.restaurant[t];case"buzz":return xs.buzz;default:return null}}function fE({noisePlayer:e,audioRef:t,playbackStateRef:a,sequencer:o}){const n=s.useRef(e?.registerAnalyser);n.current=e?.registerAnalyser;const i=s.useRef(null),[l,c]=s.useState(null),u=s.useRef(null),d=s.useRef(null),h=s.useRef(null),p=s.useRef(null),m=s.useRef(0),v=s.useRef(null),x=s.useCallback(()=>!!o?.isRunning(),[o]),g=s.useCallback(()=>{p.current!==null&&(cancelAnimationFrame(p.current),p.current=null),v.current!==null&&(clearTimeout(v.current),v.current=null)},[]),b=s.useCallback((A,_=250)=>{const k=i.current;if(!k)return;const B=d.current;if(B){d.current=null;try{k.pause()}catch{}k.src=B,k.load()}if(!k.src)return;m.current+=1,g();try{en(),ur(k).then(z=>{if(i.current===k)try{n.current?.("noise",z)}catch{}})}catch{}const E=k.paused?0:dr(k);k.paused&&za(k,0),k.play().catch(()=>{});const S=performance.now(),D=()=>{const z=Math.min(1,(performance.now()-S)/_);try{za(k,E+(A-E)*z)}catch{}z<1?p.current=requestAnimationFrame(D):p.current=null};p.current=requestAnimationFrame(D)},[g]),C=s.useCallback((A=250,_)=>{const k=i.current;if(!k||k.paused){_?.();return}const B=++m.current;g();const E=performance.now(),S=dr(k),D=()=>{const z=Math.min(1,(performance.now()-E)/A);try{za(k,S*(1-z))}catch{}if(z<1)p.current=requestAnimationFrame(D);else{p.current=null,v.current!==null&&(clearTimeout(v.current),v.current=null);try{k.pause()}catch{}_?.()}};p.current=requestAnimationFrame(D),v.current=setTimeout(()=>{if(v.current=null,m.current===B){p.current!==null&&(cancelAnimationFrame(p.current),p.current=null);try{k.paused||(za(k,0),k.pause(),_?.())}catch{}}},A+150)},[g]);s.useEffect(()=>{const A=document.createElement("audio");return A.loop=!0,A.crossOrigin="anonymous",i.current=A,()=>{g();try{A.pause(),A.removeAttribute("src"),A.load()}catch{}i.current=null,u.current=null,d.current=null}},[g]);const f=e?fs(e.settings):0,w=!!e?.settings.enabled&&f>0;s.useEffect(()=>{if(!w)return;let A=0;const _=setInterval(()=>{const k=i.current;if(!k||k.paused){A=0;return}const B=t.current;if(B&&!B.paused&&!B.ended||x()||a.current==="playing"){A=0;return}A+=1,A>=2&&(A=0,C())},400);return()=>clearInterval(_)},[C,w,t,a,x]),s.useEffect(()=>{const A=()=>{const _=i.current;if(document.hidden){if(_&&!_.paused){g();try{_.pause()}catch{}}return}if(!_||!_.paused)return;const k=t.current,B=!!k&&!k.paused&&!k.ended||x()||a.current==="playing",E=h.current;B&&E?.enabled&&E.volume>0&&b(E.volume)};return document.addEventListener("visibilitychange",A),()=>document.removeEventListener("visibilitychange",A)},[g,b,t,a,x]),s.useEffect(()=>{h.current=e?{enabled:e.settings.enabled,volume:f,type:e.settings.type}:null},[e,e?.settings.enabled,f,e?.settings.type]);const y=s.useRef(null);return s.useEffect(()=>()=>{y.current?.(),y.current=null},[]),s.useEffect(()=>{const A=e?.settings,_=i.current;if(!_)return;const k=A?fs(A):0;if(!A||!A.enabled||k===0){C();return}if(u.current!==A.type){const B=gE(A.type);B&&(u.current=A.type,c(B),d.current=B,C(150,()=>{if(d.current!==B)return;d.current=null,_.src=B,_.load();const E=t.current;if(E&&!E.paused||x()){y.current?.();const S=()=>{_.removeEventListener("canplay",S),y.current===D&&(y.current=null);const z=t.current,T=h.current;(z&&!z.paused&&!z.ended||x())&&T?.enabled&&T.volume>0&&b(T.volume)},D=()=>_.removeEventListener("canplay",S);y.current=D,_.addEventListener("canplay",S)}}))}else{const B=t.current,E=!!B&&!B.paused&&!B.ended||x()||a.current==="playing";if(E&&d.current)b(k);else if(E&&_.paused&&_.src)b(k);else if(!_.paused)if(!E)C();else{g();const S=dr(_),D=performance.now(),z=()=>{const T=Math.min(1,(performance.now()-D)/150);try{za(_,S+(k-S)*T)}catch{}T<1?p.current=requestAnimationFrame(z):p.current=null};p.current=requestAnimationFrame(z)}}},[e?.settings,e?.settings.enabled,f,e?.settings.type,g,b,C,t,a,h,x]),s.useEffect(()=>{const A=i.current;if(A)try{A.playbackRate=Math.min(1.25,Math.max(.75,e?.settings.speed??1))}catch{}},[e?.settings.speed]),{noiseAudioRef:i,activeNoiseUrl:l,noiseSettingsRef:h,cancelNoiseFade:g,fadeInNoise:b,fadeOutNoise:C}}function vE({ttsText:e,playbackRate:t,mainVolume:a,fillRef:o,waveProgressRef:n,setProgress:i,setPlaybackState:l,setStateLocal:c,fadeInNoise:u,fadeOutNoise:d,noiseSettingsRef:h,onDoneRef:p,handleEndRef:m}){const v=s.useRef(null),x=s.useRef(0),g=s.useRef(null),b=s.useRef(0),C=s.useRef(!1);s.useEffect(()=>()=>{b.current++;try{if(g.current&&(cancelAnimationFrame(g.current),g.current=null),C.current&&window.speechSynthesis){try{window.speechSynthesis.cancel()}catch{}C.current=!1}}catch{}},[]);const f=(A,_=1)=>{try{const k=(A||"").trim().split(/\s+/).filter(Boolean).length||Math.max(1,(A||"").length);return Math.max(700,Math.round(k*300/Math.max(.25,_)))}catch{return 1200}},w=s.useCallback(A=>{if(typeof window>"u"||!window.speechSynthesis){try{typeof p.current=="function"&&p.current(!1)}catch{}return}const _=window.speechSynthesis,k=++b.current;try{try{_.cancel()}catch{}const B=A??e,E=Array.isArray(B)?B.filter(N=>!!N):[B||""];E.length===0&&E.push("");const S=Math.max(.3,Math.min(3,t));x.current=E.reduce((N,j)=>N+f(j,S||1),0),v.current=performance.now(),i(0),l("playing"),c("playMode");const D=h.current;D?.enabled&&(D?.volume??0)>0&&u(D.volume);const z=()=>{try{const N=v.current||performance.now(),j=performance.now()-N,P=x.current||1200,X=Math.min(1,j/P);try{o.current&&(o.current.style.left=`${X*100}%`),n.current&&n.current.style.setProperty("--progress",String(X))}catch{}X<1&&(g.current=requestAnimationFrame(z))}catch{}},T=()=>{if(k===b.current)try{g.current&&(cancelAnimationFrame(g.current),g.current=null),i(1),l("stopped");try{m.current?.()}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{}},G=N=>{const j=new SpeechSynthesisUtterance(E[N]);try{j.rate=S}catch{}try{j.volume=Math.max(0,Math.min(1,a))}catch{}j.onend=()=>{if(k===b.current){if(N<E.length-1){try{G(N+1)}catch{T()}return}T()}},j.onerror=()=>{T()},j.onstart=()=>{if(!(N>0))try{g.current&&(cancelAnimationFrame(g.current),g.current=null),g.current=requestAnimationFrame(z)}catch{}},C.current=!0,_.speak(j)};try{G(0)}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}}catch{try{typeof p.current=="function"&&p.current(!0)}catch{}}},[e,t,a,u,o,n,i,l,c,h,p,m]),y=s.useCallback(()=>{b.current++;try{if(window.speechSynthesis)try{window.speechSynthesis.cancel()}catch{}g.current&&(cancelAnimationFrame(g.current),g.current=null),d(),v.current=null}catch{}l("stopped"),c("active"),i(0)},[d,l,c,i]);return{startTTS:w,stopTTS:y}}var xE='.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{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.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%}.ihabdevteam-core-scope .audio-player__buttons>.button--variant-transparent-white[aria-pressed=true]:not(:hover):not(:focus-visible){background:transparent;color:#fbfdff}.ihabdevteam-core-scope .audio-player__source-buttons .button--variant-transparent-white[aria-pressed=true]{background:var(--color-white);color:var(--color-darkGray)}';se(xE);const CE=.01,yE=.3;async function _E(e,t,a,o=!1){let n=null;try{const i=window.AudioContext||window.webkitAudioContext;n=new i;const l=await n.decodeAudioData(e.slice(0)),c=l.numberOfChannels>0?l.getChannelData(0):null;if(!c)return null;let u=0;if(o){const v=Math.floor(yE*l.sampleRate),x=Math.min(c.length,v);for(;u<x&&Math.abs(c[u])<=CE;)u++;u>=x&&(u=0)}const d=c.length-u,h=a&&a>0?Math.min(d,Math.floor(a*l.sampleRate)):d,p=Math.max(t,h),m=Math.floor(p/t)||1;return new Array(t).fill(0).map((v,x)=>{const g=u+x*m,b=Math.min(g+m,u+p,c.length);let C=0;for(let f=g;f<b;f++){const w=Math.abs(c[f]);w>C&&(C=w)}return C})}catch{return null}finally{try{n?.close?.()}catch{}}}async function Lv(e,t,a,o=!1){try{const n=await fetch(e);if(n.ok===!1)return null;const i=await n.arrayBuffer();return await _E(i,t,a,o)}catch(n){try{const i=mn(n)}catch{}return null}}const Cs=45,Mv=74,$v=2;function Gn(e){const t=Math.min(2,Math.max(0,Number(e)||0));return t<=1?t*45:45+(t-1)*29}function Hn(e){return Gn(e)/45}const wE=e=>Math.max(0,(typeof e=="number"&&Number.isFinite(e)?e:0)*1e3),Rv=e=>Math.max(0,typeof e=="number"&&Number.isFinite(e)?e:0);function Pv({durationsSec:e,leadInMs:t=0,tailMs:a=0}){const o=Rv(t),n=Rv(a),i=[];let l=0;return e.forEach((c,u)=>{for(const[d,h]of[["lead",o],["sound",wE(c)],["tail",n]])i.push({kind:d,track:u,startMs:l,durMs:h}),l+=h}),{segments:i,totalMs:l,trackCount:e.length}}function zv(e,t){const a=(t|0)*3;if(t<0||a+2>=e.segments.length)return null;const[o,n,i]=[e.segments[a],e.segments[a+1],e.segments[a+2]];return{lead:o,sound:n,tail:i,totalMs:o.durMs+n.durMs+i.durMs}}function kE(e,t){const a=zv(e,t.track);if(!a||!(a.totalMs>0))return 0;const o=a[t.kind],n=Math.min(Math.max(0,Number.isFinite(t.elapsedMs)?t.elapsedMs:0),o.durMs);return Math.max(0,Math.min(1,(o.startMs-a.lead.startMs+n)/a.totalMs))}function BE(e,t,a){const o=Math.max(0,Math.floor(a)),n=zv(e,t);if(!n||o===0||!(n.totalMs>0)||n.lead.durMs===0&&n.tail.durMs===0||!(n.sound.durMs>0))return{lead:0,sound:o,tail:0};const i=Math.round(n.lead.durMs/n.totalMs*o),l=Math.round(n.tail.durMs/n.totalMs*o),c=Math.max(1,o-i-l),u=i+c+l-o;return{lead:Math.max(0,i-Math.ceil(u/2)),sound:c,tail:Math.max(0,l-Math.floor(u/2))}}function AE({currentTime:e,sources:t,index:a,audioDuration:o}){const n=a||0,i=Array.isArray(t)&&t.length>0?t[n]:void 0,l=i?i.duration||o||0:o||0;if(!(l>0))return 0;const c=Number.isFinite(e)?e:0;return Math.max(0,Math.min(1,c/l))}function SE({phase:e,phaseElapsedMs:t,currentTime:a,trackDurationSec:o,leadInMs:n,tailMs:i}){const l=Pv({durationsSec:[o],leadInMs:n,tailMs:i});return kE(l,{track:0,kind:e,elapsedMs:e==="sound"?(Number.isFinite(a)?a:0)*1e3:t})}function EE({bars:e,trackDurationSec:t,leadInMs:a,tailMs:o}){return BE(Pv({durationsSec:[t],leadInMs:a,tailMs:o}),0,e)}function DE(e,t){if(!Array.isArray(e))return null;const a=t||0;return a<e.length-1?a+1:null}function NE({ended:e,completedByEnd:t}){return!!e||!!t}function jE(e){return e.map((t,a)=>({src:t.src,label:String(a+1),color:void 0,duration:t.duration||0}))}function TE(e){return e.reduce((t,a)=>t+(a.duration||0),0)}function LE(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 l=i;n.push({code:l.code??null,src:l.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 l=String(i),c=a(l,t);c&&n.push({code:l,resolvedPath:c})}}return n}function ME(e,t){if(!t||e.readyState<1)return!0;const a=e.currentSrc||e.src;return a?Iv(a)!==Iv(t):!0}function Iv(e){try{return new URL(e,typeof location>"u"?"http://localhost/":location.href).href}catch{return e}}const Ov=4,$E=Hn(Ov/Cs);function RE(e){const{src:t,segments:a,progress:o=0,waveProgressRef:n,noiseSrc:i,noiseRatio:l=0,noiseSpeed:c=1,totalDuration:u=0,mainVolume:d=1,onReadyChange:h,showSoundWaveForm:p=!0,leadInMs:m=0,tailMs:v=0,trackDurationSec:x=0}=e,g=s.useRef(null),b=s.useRef(null),[C,f]=s.useState(null),[w,y]=s.useState(!1),[A,_]=s.useState(null),[k,B]=s.useState(2),[E,S]=s.useState(0),[D,z]=s.useState(null),[T,G]=s.useState(!1),[N,j]=s.useState(!1),P=3,X=3,K=1,M=300,W=s.useRef(0),R=s.useCallback(()=>{const ye=g.current,me=b&&b.current?b.current:ye?ye.closest(".audio-player__wave"):null,ue=me?me.getBoundingClientRect():ye?ye.getBoundingClientRect():null,xe=ue?ue.width:0,V=ue?Math.max(100,ue.width):320,ae=ue?ue.height:0,ge=Math.max(K,Math.min(M,Math.floor((V+X)/(P+X)))),ke=ge*P,Ae=Math.max(0,ge-1),ze=Math.max(0,Ae>0?(V-ke)/Ae:X);return{bars:ge,gap:ze,height:ae,width:xe}},[]),U=s.useRef(void 0),F=s.useRef(null),q=s.useCallback(async(ye,me,{quiet:ue=!1}={})=>{const xe=++W.current,V=()=>W.current===xe;try{if(ue||y(!1),U.current=ye,!ye){V()&&f(null);return}let ae=me;if(!ae)try{for(let Ae=0;Ae<4&&!(g.current||b.current);Ae++)await new Promise(ze=>requestAnimationFrame(ze));await new Promise(Ae=>requestAnimationFrame(Ae));const ke=R();ke.height>0&&S(ke.height),ae=ke.bars,B(ke.gap)}catch{ae=120}F.current=ae;const ge=await Lv(ye,ae);if(!V())return;if(!ge){f(null),y(!1);return}f(ge),_(ae),y(!0)}catch{if(!V())return;f(null),y(!1)}},[y,f,S,B,_,R]);s.useEffect(()=>{const ye=b.current;if(!ye||typeof ResizeObserver>"u")return;let me=null;const ue=new ResizeObserver(()=>{me!==null&&cancelAnimationFrame(me),me=requestAnimationFrame(()=>{me=null;try{const xe=R();if(xe.width<=0||(xe.height>0&&S(xe.height),F.current===null||xe.bars===F.current))return;const V=U.current;B(xe.gap),V?q(V,xe.bars,{quiet:!0}).catch(()=>{}):F.current=xe.bars}catch{}})});return ue.observe(ye),()=>{ue.disconnect(),me!==null&&cancelAnimationFrame(me)}},[R,q]),s.useEffect(()=>{const ye=a&&a[0]&&a[0].src||t||a&&a.length===1&&a[0]&&a[0].src;q(typeof ye=="string"?ye:void 0).catch(()=>{}),j(!1)},[t,a,q]),s.useEffect(()=>{let ye=!1;if(G(!1),z(null),!i||!A)return;const me=u>0?u*(c||1):void 0;return Lv(i,A,me,!0).then(ue=>{ye||(z(ue),ue||G(!0))}).catch(()=>{ye||(z(null),G(!0))}),()=>{ye=!0}},[i,A,u,c]);const L=Math.max(0,Math.min(1,d)),I=s.useMemo(()=>C&&C.length&&Math.max(...C)||1,[C]),O=A||40,Q=s.useMemo(()=>EE({bars:O,trackDurationSec:x,leadInMs:m,tailMs:v}),[O,x,m,v]),ce=s.useMemo(()=>Array.from({length:O}).map((ye,me)=>{const ue=me>=Q.lead&&me<Q.lead+Q.sound,xe=Q.sound>0&&ue?Math.min(O-1,Math.round((me-Q.lead)/Q.sound*O)):-1,V=ue?C&&C[xe]!=null?C[xe]:null:C?0:null,ae=V==null?null:Math.min(1,V/I*L),ge=ae!=null&&E>0&&Gn(ae)<=Ov,ke=ae==null?.15:ge?0:Hn(ae),Ae=ge,ze=O>1?me/(O-1):0;return r.jsx("div",{className:Ae?"audio-player__bar audio-player__bar--hidden":"audio-player__bar",style:{"--val":ke,"--i":me,"--mix":ze}},me)}),[O,C,I,L,E,Q]),ne={"--progress":String(Math.max(0,Math.min(1,o)))},be=s.useMemo(()=>D&&D.length&&Math.max(...D.map(ye=>Number.isFinite(ye)?Math.abs(ye):0))||1,[D]),J=L*Math.max(0,l),H=!i||!D||!D.length?1:Math.max(1,J),le={"--bar-gap":`${k}px`,"--wave-h":`${Gn(H)}px`,"--wave-h1":`${Cs}px`},Y=w&&(i?!!D||T:!0);s.useEffect(()=>{Y&&j(!0)},[Y]);const Z=N?w:Y;s.useEffect(()=>{h?.(Z)},[Z,h]);const he=A||40,je=s.useMemo(()=>Array.from({length:he}).map((ye,me)=>{const ue=D&&D[me]!=null?D[me]:null,xe=ue==null?0:Math.abs(ue)/be*J,V=Math.max($E,Hn(xe)),ae=he>1?me/(he-1):0;return r.jsx("div",{className:"audio-player__bar",style:{"--val":V,"--i":me,"--mix":ae}},me)}),[he,D,be,J,E]);return r.jsxs("div",{className:"audio-player__wave",ref:b,style:le,children:[i&&r.jsx("div",{className:`audio-player__wave-noise ${Y?"is-ready":""}`,"aria-hidden":"true",children:je}),p&&r.jsxs(r.Fragment,{children:[r.jsx("div",{className:`audio-player__wave-inner audio-player__wave-unplayed ${Z?"is-ready":""}`,ref:g,children:ce}),r.jsx("div",{className:`audio-player__wave-inner audio-player__wave-played ${Z?"is-ready":""}`,ref:n,style:ne,children:ce})]})]})}const Fv={idle:!1,synthesizing:!0,resolving:!0,checking_exists:!0,getting_signed_url:!0,downloading:!0,measuring_duration:!0,ready:!1,error:!0};function mp(e,t){return new Promise((a,o)=>{const n=document.createElement("audio");let i=!1;const l=()=>{try{n.removeAttribute("src"),n.load()}catch{}},c=()=>{if(i)return;i=!0;const d=isFinite(n.duration)&&n.duration||0;l(),a(d)},u=d=>{i||(i=!0,l(),t.rejectOnError?o(new Error(d)):a(0))};n.addEventListener("loadedmetadata",c),n.addEventListener("error",()=>u("audio load failed")),setTimeout(()=>u("audio load timeout"),t.timeoutMs),n.src=e})}const PE=2e3;function Wv(e,t=PE){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 zE({showSoundWaveForm:e,showNoiseWaveForm:t,timeoutMs:a=2500}){const o=s.useRef(!1),n=s.useRef([]),i=s.useCallback(u=>{if(o.current=u,!u||!n.current.length)return;const d=n.current;n.current=[];for(const h of d)h(!0)},[]),l=s.useCallback(()=>{o.current=!1},[]),c=s.useCallback(()=>!e&&!t||o.current?Promise.resolve(!0):new Promise(u=>{const d=p=>{clearTimeout(h),n.current=n.current.filter(m=>m!==d),u(p)},h=setTimeout(()=>d(!0),a);n.current.push(d)}),[e,t,a]);return s.useEffect(()=>()=>{const u=n.current;n.current=[];for(const d of u)d(!1)},[]),{onReadyChange:i,waitForReady:c,markNotReady:l}}function IE(){const e=s.useRef([]),t=s.useCallback(n=>(e.current.push(n),n),[]),a=s.useCallback(n=>{const i=new Set([...n].filter(Boolean));e.current=e.current.filter(l=>{if(i.has(l))return!0;try{URL.revokeObjectURL(l)}catch{}return!1})},[]),o=s.useCallback(()=>{a([])},[a]);return s.useEffect(()=>()=>{for(const n of e.current)try{URL.revokeObjectURL(n)}catch{}e.current=[]},[]),{track:t,keepOnly:a,revokeAll:o}}function OE({offsetY:e=8}={}){const t=s.useRef(null),[a,o]=s.useState(null),n=s.useCallback(()=>o(null),[]),i=s.useCallback(()=>{try{const l=t.current?.getBoundingClientRect();if(!l)return;o({left:l.left,right:l.right,width:l.width,height:l.height,x:l.x,top:l.top+e,bottom:l.bottom+e,y:l.y+e,toJSON:l.toJSON.bind(l)})}catch{}},[e]);return s.useEffect(()=>{if(a)return document.addEventListener("mousedown",n),()=>document.removeEventListener("mousedown",n)},[a,n]),{ref:t,rect:a,show:i,hide:n}}function FE(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}const WE=400,GE=2e3,Gv=5;function HE({audioRef:e,fillRef:t,waveProgressRef:a,sourcesRef:o,currentIndexRef:n,sequencer:i,leadInMs:l=0,tailMs:c=0}){const u=s.useRef(null),d=s.useRef(0),h=s.useRef(null),p=s.useCallback(()=>{u.current!==null&&(cancelAnimationFrame(u.current),u.current=null)},[]),m=s.useCallback(()=>{if(u.current!==null)return;let x=0;const g=()=>{if(ho){const b=typeof performance<"u"&&performance.now?performance.now():Date.now();if(x>0&&b-x>WE){const C=h.current===null||b-h.current>GE;if(h.current=b,C&&d.current<Gv){d.current+=1;const f=d.current;let w=null;try{w=typeof document<"u"?document.visibilityState:null}catch{}Pt(`progress-ticker-slow-frames#${f}`,`[ihab-core] \uC9C4\uD589 \uC0AC\uC2AC\uC758 \uD2C0 \uC0AC\uC774\uAC00 ${Math.round(b-x)}ms \uC785\uB2C8\uB2E4(\uBCF4\uD1B5 16ms).`,w==="hidden"?"\uC774 \uCE78\uC774 **\uC228\uC5B4 \uC788\uC5B4** \uBE0C\uB77C\uC6B0\uC800\uAC00 \uD2C0\uC744 \uC904\uC600\uC2B5\uB2C8\uB2E4 \u2014 \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC740 \uD2C0\uB9C8\uB2E4 \uADF8\uB824\uC9C0\uBBC0\uB85C, \uC9C0\uAE08 \uC7AC\uB294 \uAC12\uC740 **\uC0AC\uB78C\uC774 \uBCF4\uB294 \uD654\uBA74\uACFC \uB2E4\uB985\uB2C8\uB2E4.** \uCE78\uC744 \uC55E\uC73C\uB85C \uAEBC\uB0B4\uACE0 \uB2E4\uC2DC \uC7AC\uC2ED\uC2DC\uC624.":"\uCE78\uC740 \uBCF4\uC774\uB294\uB370 \uD2C0\uC774 \uB290\uB9BD\uB2C8\uB2E4 \u2014 \uAC19\uC740 \uD654\uBA74\uC5D0\uC11C \uBB34\uAC70\uC6B4 \uC77C\uC774 \uB3C4\uB294\uC9C0 \uBCF4\uC2ED\uC2DC\uC624. \uC7AC\uC0DD\uBC14\xB7\uD30C\uD615\uC774 \uB04A\uACA8 \uBCF4\uC774\uB294 \uAC83\uC740 \uC774 \uD0D3\uC77C \uC218 \uC788\uC2B5\uB2C8\uB2E4.",f>=Gv?`(${f}\uBC88\uC9F8 \u2014 \uB354\uB294 \uC548 \uC54C\uB9BD\uB2C8\uB2E4)`:`(${f}\uBC88\uC9F8)`)}}x=b}try{const b=e.current,C=Array.isArray(o.current)?o.current[n.current||0]:void 0,f=!!C&&Number.isFinite(C.duration)&&(C.duration??0)>0,w=f?0:FE(b),y=t.current,A=(l||0)>0||(c||0)>0,_=A&&(i?.positionRef.current?.phase??"sound")!=="sound";if(w===null&&!_)try{y&&y.style.visibility!=="hidden"&&(y.style.visibility="hidden")}catch{}else{const k=f?C.duration:w||0;ho&&_&&!(k>0)&&Pt("progress-ticker-pad-without-duration","[ihab-core] \uB738\uC774 \uB3C4\uB294\uB370 **\uC18C\uB9AC \uAE38\uC774\uB97C \uBAA8\uB985\uB2C8\uB2E4** \u2014 \uC7AC\uC0DD\uBC14\uAC00 \uB738\uB9CC\uC73C\uB85C \uC5B4\uB9BC\uC7A1\uC544 \uC6C0\uC9C1\uC785\uB2C8\uB2E4.","\uC18C\uB9AC \uAE38\uC774 \uC7AC\uAE30(measureAudioDuration)\uAC00 0 \uC744 \uC92C\uAC70\uB098 `<audio>` \uAC00 \uC544\uC9C1 \uC548 \uC2E4\uB838\uC2B5\uB2C8\uB2E4. \uAE38\uC774\uB97C \uC54C\uAC8C \uB418\uBA74 \uB9C8\uCEE4\uAC00 \uADF8 \uC21C\uAC04 **\uB4A4\uB85C \uBB3C\uB7EC\uB0A9\uB2C8\uB2E4**(\uC5B4\uB9BC\uC740 \uB298 \uCC38\uBCF4\uB2E4 \uD07D\uB2C8\uB2E4). \uC774 \uC904\uC774 \uBCF4\uC774\uBA74 \uADF8 \uC790\uB9AC\uB97C \uC54C\uB824 \uC8FC\uC2ED\uC2DC\uC624 \u2014 \uD3C9\uC18C \uAE38\uC5D0\uC11C\uB294 \uC548 \uB098\uC640\uC57C \uD569\uB2C8\uB2E4.");const B=A?SE({phase:i?.positionRef.current?.phase??"sound",phaseElapsedMs:i?.positionRef.current?Math.max(0,Date.now()-i.positionRef.current.at):0,currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,trackDurationSec:k,leadInMs:l||0,tailMs:c||0}):AE({currentTime:b&&typeof b.currentTime=="number"?b.currentTime:0,sources:o.current,index:n.current,audioDuration:w??0});try{y&&(y.style.visibility&&(y.style.visibility=""),y.style.left=`${B*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(B))}catch{}}}catch{}u.current=requestAnimationFrame(g)};u.current=requestAnimationFrame(g)},[e,t,a,o,n,i,l,c]),v=s.useCallback(x=>{p();try{t.current&&(t.current.style.visibility="",t.current.style.left=`${x*100}%`)}catch{}try{a.current?.style.setProperty("--progress",String(x))}catch{}},[p,t,a]);return s.useEffect(()=>p,[p]),{start:m,stop:p,settleTo:v}}function Vn({btnLabel:e,soundSrc:t,bucketPath:a,onDone:o,disabled:n=!1,ttsText:i=null,className:l,showSoundWaveForm:c=!0,showNoiseWaveForm:u=!0,leadInMs:d=0,tailMs:h=0}){const{t:p}=we.useTranslation(),m=e,v=Wn(),x=s.useRef(v?.registerAnalyser);s.useEffect(()=>{x.current=v?.registerAnalyser});const g=s.useRef(null),b=s.useRef(null),C=s.useRef(null),f=IE(),w=s.useRef(null),y=s.useRef(!1),A=s.useRef(null),{ref:_,rect:k,show:B,hide:E}=OE();s.useEffect(()=>()=>{x.current?.("main",null),x.current?.("noise",null)},[]);const[S,D]=s.useState(!1),[z,T]=s.useState("idle"),[G,N]=s.useState("stopped"),j=s.useRef("stopped");s.useEffect(()=>{j.current=G},[G]);const[P,X]=s.useState(0),[K,M]=s.useState("active"),W=s.useRef(!1);s.useEffect(()=>{if(K!=="playMode"||!W.current)return;W.current=!1;const ee=typeof document<"u"?document.activeElement:null;if(ee&&ee!==document.body)return;const pe=C.current?.querySelectorAll("button")[1];try{pe?.focus()}catch{}},[K]);const[R,U]=s.useState(null),[F,q]=s.useState(null),[L,I]=s.useState(0),[O,Q]=s.useState(!1),[ce,ne]=s.useState(0),be=v?.playbackRate??1,J=v?.mainVolume??1,H=v?gs(v.settings):0,le=v?pp(v.settings):J,[Y,Z]=s.useState("idle"),[he,je]=s.useState(""),[ye]=s.useState("top"),me=s.useRef(null),ue=s.useRef(0),xe=s.useRef(null),V=s.useRef(!0),ae=pE({mountedRef:V}),ge=s.useRef(null),ke=s.useRef(d),Ae=s.useRef(h);s.useEffect(()=>{ke.current=Math.max(0,d||0)},[d]),s.useEffect(()=>{Ae.current=Math.max(0,h||0)},[h]);const{start:ze,stop:Fe,settleTo:ut}=HE({audioRef:g,fillRef:b,waveProgressRef:xe,sourcesRef:me,currentIndexRef:ue,sequencer:ae,leadInMs:d,tailMs:h}),{onReadyChange:it,waitForReady:et,markNotReady:gt}=zE({showSoundWaveForm:c,showNoiseWaveForm:u}),Ee=s.useRef(null),Ve=s.useRef(n),Be=s.useRef(o),Ue=s.useRef(null),De=s.useRef(!1),[Pe,Me]=s.useState(!1),Qe=s.useCallback(ee=>{De.current=ee,Me(ee)},[]),yt=s.useRef(null),{activeNoiseUrl:nt,noiseSettingsRef:tt,fadeInNoise:Et,fadeOutNoise:vt}=fE({noisePlayer:v,audioRef:g,playbackStateRef:j,sequencer:ae}),{startTTS:Dt,stopTTS:At}=vE({ttsText:i,playbackRate:be,mainVolume:le,fillRef:b,waveProgressRef:xe,setProgress:X,setPlaybackState:N,setStateLocal:M,fadeInNoise:Et,fadeOutNoise:vt,noiseSettingsRef:tt,onDoneRef:Be,handleEndRef:yt});s.useEffect(()=>{lt.current=At});const _t=ee=>{if(typeof window>"u"||!window.speechSynthesis){try{je(p("training.ttsUnavailable","\uC774 \uAE30\uAE30\uC5D0\uC11C\uB294 \uC74C\uC131\uC744 \uB4E4\uB824\uC904 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4."))}catch{}Dt(ee);return}ct("tts"),Dt(ee)},Xe=Array.isArray(t)?t.filter(Boolean):t?[t]:[],ie=(!Xe||Xe.length===0)&&!!i,Te=Array.isArray(R)&&R.length>0?R:Array.isArray(F)&&F.length>0?F:null,at=Math.max(Array.isArray(Te)?Te.length:0,Xe.length);s.useEffect(()=>(V.current=!0,()=>{V.current=!1}),[]);const qe=()=>{ae.abort()},lt=s.useRef(null),Re=s.useRef(null),ht=s.useRef(null),Ie=s.useRef(null);Ie.current||(Ie.current=()=>{ht.current=null;const ee=g.current;if(Re.current==="audio"&&ee&&(!ee.paused||ae.isRunning())){qe();try{ee.pause()}catch{}V.current&&(N("paused"),Fe(),vt())}else if(Re.current==="tts")try{lt.current?.()}catch{}});const ct=ee=>{Re.current=ee,ht.current=Ki(Ie.current)},xt=()=>{ht.current?.(),ht.current=null};s.useEffect(()=>()=>{Ie.current&&Xi(Ie.current)},[]);const Nt=s.useRef(be);s.useEffect(()=>{Nt.current=be||1},[be]);const Je=s.useCallback(ee=>{const pe=Nt.current||1;try{ee.defaultPlaybackRate=pe}catch{}try{ee.playbackRate=pe}catch{}},[]),dt=s.useCallback((ee,pe)=>{if(!ME(ee,pe)){try{ee.currentTime=0}catch{}Je(ee);return}ee.src=pe,Je(ee),ee.load(),Je(ee)},[Je]),pt=s.useCallback(()=>{Ue.current&&(clearTimeout(Ue.current),Ue.current=null),Z("idle")},[]),ft=s.useCallback(async(ee,pe=3,oe=50,_e=0)=>{pt();const Oe=ae.generation(),He=!!ee&&ee.currentTime>0&&!ee.ended,rt=Math.max(0,ke.current-Math.max(0,_e));if(rt>0&&!He){ct("audio"),ze(),N("playing");const Ct=tt.current;if(Ct?.enabled&&(Ct.volume??0)>0)try{Et(Ct.volume)}catch{}if(!await ae.waitPad(rt,"lead",_e)||!V.current||!ae.isCurrent(Oe))return!1}ae.enterSound();for(let Ct=0;Ct<pe;Ct++){if(!V.current||!ae.isCurrent(Oe))return!1;try{return ct("audio"),await ee.play(),!0}catch(Ce){if((Ce instanceof Error||typeof Ce=="object"&&Ce&&"name"in Ce?Ce.name:void 0)==="AbortError"){if(!ae.isCurrent(Oe))return!1;await new Promise($=>setTimeout($,oe));continue}try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1}}try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}return!1},[p,ze,ae,Et,tt,pt]),jt=s.useCallback(ee=>{const pe=ae.generation(),oe=Math.max(0,Ae.current-Math.max(0,ee));ze();const _e=tt.current;if(_e?.enabled&&(_e.volume??0)>0)try{Et(_e.volume)}catch{}const Oe=()=>{try{ge.current?.()}catch{}};if(oe<=0){ae.leave(),Oe();return}ae.waitPad(oe,"tail",ee).then(He=>{ae.leave(),He&&ae.isCurrent(pe)&&Oe()}).catch(()=>{})},[ae,ze,Et,tt]),ta=s.useCallback(()=>{const ee=g.current;if(!ee)return;const pe=()=>{N("playing"),M("playMode"),Q(!0),ze();try{en(),ur(ee).then(He=>{if(V.current)try{x.current?.("main",He)}catch{}})}catch{}const Oe=tt.current;Oe?.enabled&&(Oe?.volume??0)>0&&Et(Oe.volume)},oe=()=>{NE({ended:!!ee?.ended,completedByEnd:De.current})||(N("paused"),Fe(),vt())},_e=()=>{const Oe=()=>{try{const He=me.current,rt=DE(He,ue.current);if(rt!==null){ue.current=rt,I(rt),Q(!0);const Ct=He?.[rt]&&He[rt].src;if(Ct&&ee){dt(ee,Ct),ft(ee).catch(()=>{});return}}}catch{}N("stopped"),X(1);try{if(ee)try{ee.currentTime=0}catch{}}catch{}Fe(),Q(!1),vt();try{!Ve.current&&yt.current&&yt.current()}catch{}};if(ge.current=Oe,Ae.current>0){ze(),ae.waitPad(Ae.current,"tail").then(He=>{ae.leave(),He&&Oe()}).catch(()=>{});return}Oe()};return ee.addEventListener("play",pe),ee.addEventListener("pause",oe),ee.addEventListener("ended",_e),()=>{try{ee.removeEventListener("play",pe),ee.removeEventListener("pause",oe),ee.removeEventListener("ended",_e),Fe()}catch{}}},[Et,vt,ft,tt,ze,Fe,ae]);s.useEffect(()=>ta(),[ta]),s.useEffect(()=>{Ve.current=n},[n]),s.useEffect(()=>{Be.current=o},[o]),s.useEffect(()=>{if(n||K!=="active")return;const ee=A.current;if(!ee)return;let pe=null;const oe=requestAnimationFrame(()=>{try{const _e=ee.getTotalLength();if(!_e)return;const Oe=_e*.2;ee.style.strokeDasharray=`${_e-Oe} ${Oe}`;const He="triFlow_"+Math.random().toString(36).slice(2);pe=document.createElement("style"),pe.textContent=`@keyframes ${He}{from{stroke-dashoffset:0}to{stroke-dashoffset:-${_e}}}`,document.head.appendChild(pe),ee.style.animation=`${He} 2.4s linear infinite`}catch{}});return()=>{cancelAnimationFrame(oe),pe?.remove()}},[K,n]),s.useEffect(()=>{me.current=R},[R]),s.useEffect(()=>{ue.current=L},[L]),s.useEffect(()=>{const ee=C.current,pe=w.current;if(!ee||!pe)return;let oe=null;const _e=32,Oe=60,He=()=>{try{const Ct=Array.from(ee.querySelectorAll(":scope > .button"));let Ce=0;Ct.forEach(We=>{if(We===pe)return;const Ze=We.getBoundingClientRect();Ce+=Ze.width});const $=ee.getBoundingClientRect().width,te=Math.max(0,Math.floor($-Ce-8)),fe=at;if(!fe||te<=0){Array.from(pe.children).forEach(We=>{try{We.style.width=""}catch{}});return}let Le=Math.floor(te/fe);Le>Oe&&(Le=Oe),Le<_e&&(Le=Math.max(_e,Math.floor(te/fe))),Array.from(pe.querySelectorAll(".button")).forEach(We=>{try{We.style.width=`${Le}px`}catch{}})}catch{}},rt=requestAnimationFrame(He);try{oe=new ResizeObserver(()=>{requestAnimationFrame(He)}),oe.observe(ee),oe.observe(pe),window.addEventListener("resize",He)}catch{}return()=>{try{cancelAnimationFrame(rt)}catch{}try{oe&&(oe.disconnect(),oe=null)}catch{}try{window.removeEventListener("resize",He)}catch{}}},[R,F,at]),s.useEffect(()=>()=>{try{Ee.current&&(clearTimeout(Ee.current),Ee.current=null),Ue.current&&(clearTimeout(Ue.current),Ue.current=null)}catch{}},[]);const pa=(ee,pe)=>{U(ee),ne(pe),gt(),q(jE(ee)),me.current=ee},Pa=()=>{M("playMode"),I(0),Q(!0)},lo=async(ee,pe)=>{Qe(!1),y.current=!1,dt(ee,pe),await Wv(ee),await et()!==!1&&(D(!1),Pa(),await ft(ee))},jo=async(ee,pe=!1)=>{const oe=g.current;D(!0),T("measuring_duration");try{const _e=await mp(ee,{timeoutMs:1e4,rejectOnError:!0});pa([{src:ee,objectUrl:null,duration:_e}],_e),T("ready"),pe&&oe&&await lo(oe,ee)}finally{y.current=!1,D(!1)}},To=async(ee,pe=!1)=>{const oe=g.current;D(!0),T("measuring_duration");try{const _e=await Promise.all(ee.map(He=>mp(He,{timeoutMs:1e4})));if(!V.current)return;const Oe=ee.map((He,rt)=>({src:He,objectUrl:null,duration:_e[rt]||0}));pa(Oe,TE(Oe)),T("ready"),pe&&oe&&Oe.length>0&&await lo(oe,Oe[0].src)}finally{y.current=!1,D(!1)}},aa=async(ee=!1,pe=!0)=>{const oe=g.current,_e=t?Array.isArray(t)?t:[t]:[];if(!_e||_e.length===0||!_e.some(Boolean))return!1;if(y.current)return null;y.current=!0,pe&&D(!0),T("resolving");try{const Oe=LE(t,a,Xn),He=[];let rt=0;for(const Ct of Oe){let Ce=Ct.src??null,$=null;if(!Ce&&Ct.resolvedPath){try{T("getting_signed_url"),Ce=await Zr(Ct.resolvedPath)}catch{Ce=null}if(!V.current)return!1;if(!Ce)try{T("downloading");const fe=await Zn(Ct.resolvedPath);if(!V.current)return!1;if(fe){const Le=fe instanceof Blob?fe:new Blob([fe]);$=f.track(URL.createObjectURL(Le)),Ce=$}}catch{T("error");try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.")),M("active")}catch{}}}if(!Ce)continue;let te=0;try{T("measuring_duration"),te=await mp(Ce,{timeoutMs:3e3})}catch{te=0}if(!V.current){if($)try{URL.revokeObjectURL($)}catch{}for(const fe of He)if(fe.objectUrl)try{URL.revokeObjectURL(fe.objectUrl)}catch{}return!1}rt+=te||0,He.push({...Ct,src:Ce,objectUrl:$,duration:te})}if(pa(He,rt),He.length>0&&ee&&oe){const Ct=He[0];Qe(!1);try{f.keepOnly(He.map(Ce=>Ce.objectUrl))}catch{}if(T("ready"),y.current=!1,Ct.src&&oe)try{if(dt(oe,Ct.src),await Wv(oe),await et()===!1)return!1;pe&&D(!1),Pa(),oe&&await ft(oe)}catch{pe&&D(!1)}else pe&&D(!1);M("playMode"),I(0),Q(!0)}return He.length>0}finally{y.current=!1,pe&&D(!1),T(Oe=>Oe==="ready"?"ready":"idle")}},Ba=async ee=>{const pe=ae.isRunning();if(ee.paused&&!pe){if(De.current){await Gt();return}const oe=ae.resume();if(oe){if(N("playing"),oe.phase==="tail"){jt(oe.elapsed);return}await ft(ee,3,50,oe.elapsed);return}await ft(ee),N("playing")}else ae.pause(),qe(),ee.pause(),N("paused"),pe&&(Fe(),vt())},oa=async()=>{const ee=g.current;if(!(!ee&&!ie)){if(ie){const pe=window.speechSynthesis;if(K==="active"){const oe=Ro(),_e=Array.isArray(i)?i.filter(Boolean):i?[i]:[];if(oe&&_e.length>0){if(y.current)return;M("load"),D(!0),T("synthesizing"),y.current=!0;try{const Oe=await Promise.all(_e.map(He=>Promise.resolve(oe(He))));Oe.length>1?await To(Oe,!0):await jo(Oe[0],!0)}catch{y.current=!1,D(!1),M("active"),_t(_e.length>0?_e:void 0)}return}_t(_e.length>0?_e:void 0);return}if(K==="playMode"){const oe=!!pe&&(pe.speaking||pe.paused)&&!(ee&&(ee.currentSrc||ee.getAttribute("src")));if(ee&&!oe){await Ba(ee);return}try{if(pe&&pe.paused)try{ct("tts"),pe.resume(),N("playing")}catch{}else try{pe.pause(),N("paused")}catch{}}catch{}}return}if(K==="active"){if(n&&Array.isArray(me.current)&&me.current.length>0){const oe=me.current[0];try{if(oe.src&&ee)try{dt(ee,oe.src),Pa(),ee&&await ft(ee)}catch{}Pa();return}catch{}}M("load");let pe;try{pe=await aa(!0)}catch{pe=!1}if(pe===!1&&V.current){try{je(p("training.audioFetchError","\uC0AC\uC6B4\uB4DC \uC18C\uC2A4\uB97C \uAC00\uC838\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4."))}catch{}M("active")}return}if(K!=="load"&&(K==="playMode"||K==="active"))try{ee&&await Ba(ee)}catch(pe){(pe instanceof Error||typeof pe=="object"&&pe&&"name"in pe)&&pe.name}}},Gt=async()=>{const ee=g.current;if(ee)try{const pe=me.current;if(Array.isArray(pe)&&pe.length>1){await Jt(0);return}Qe(!1);try{ee.currentTime=0}catch{}ee&&await ft(ee),N("playing"),M("playMode")}catch{}},co=()=>{qe(),xt(),lt.current?.();const ee=g.current;try{if(ee){try{ee.pause()}catch{}try{ee.currentTime=0}catch{}}}catch{}vt(),N("stopped"),M("active"),X(0),Q(!1)},ya=async(ee,{sameSegment:pe=!1}={})=>{qe();const oe=ae.generation(),_e=g.current,Oe=me.current?.[ee]?.src;try{if(Qe(!1),I(ee),Q(!0),ue.current=ee,!Oe||!_e||(pe||gt(),dt(_e,Oe),!pe&&await et()===!1)||!ae.isCurrent(oe)||(await ft(_e),!ae.isCurrent(oe)))return;N("playing"),M("playMode")}catch{}},uo=async()=>{const ee=me.current,pe=ue.current||0;if(!ee||pe<=0){await Gt();return}await ya(pe-1)},po=async()=>{const ee=me.current,pe=ue.current||0;if(!ee||pe>=ee.length-1){co();return}await ya(pe+1)},Za=()=>{if(De.current)return;const ee=200,pe=340;Qe(!0),qe(),xt();try{X(1)}catch{}ut(1);try{Z("hold")}catch{}try{const oe=g.current,_e=ie&&!!oe?.src;if(!ie||_e){if(oe){oe.pause();try{oe.currentTime=0}catch{}}}else At();vt()}catch{}try{N("stopped")}catch{}if(Q(!1),!Ve.current)try{Ue.current&&(clearTimeout(Ue.current),Ue.current=null),Ue.current=setTimeout(()=>{try{Z("out")}catch{}Ue.current=setTimeout(()=>{try{typeof Be.current=="function"&&Be.current(!0)}catch{}try{Z("idle")}catch{}Ue.current=null},pe)},ee)}catch{}};s.useEffect(()=>{yt.current=Za});const ra=s.useCallback(()=>je(""),[]),Jt=async ee=>{(me.current||[])[ee]&&await ya(ee,{sameSegment:ee===ue.current})},Ht=G==="playing",Aa=s.useMemo(()=>{if(!F||F.length<=1)return F;const ee=F[L];return ee?[ee]:F},[F,L]),Qt=n===!0;s.useEffect(()=>{try{const ee=g.current;ee&&typeof ee.playbackRate=="number"&&Je(ee)}catch{}},[be,Je]);const ha=s.useRef({raf:null,timer:null});s.useEffect(()=>{const ee=g.current;if(!ee)return;const pe=Math.max(0,Math.min(1,le)),oe=ha.current,_e=()=>{oe.raf!==null&&(cancelAnimationFrame(oe.raf),oe.raf=null),oe.timer!==null&&(clearTimeout(oe.timer),oe.timer=null)};_e();const Oe=dr(ee);if(ee.paused||Math.abs(Oe-pe)<.001||typeof requestAnimationFrame!="function"){try{za(ee,pe)}catch{}return}const He=performance.now(),rt=()=>{const Ct=Math.min(1,(performance.now()-He)/150);try{za(ee,Oe+(pe-Oe)*Ct)}catch{}oe.raf=Ct<1?requestAnimationFrame(rt):null};return oe.raf=requestAnimationFrame(rt),oe.timer=setTimeout(()=>{_e();try{za(ee,pe)}catch{}},200),_e},[le]);const Ft=Y==="hold",na=Y==="out",de=K==="playMode"&&!S&&!Pe||Ft||na,Ne=G!=="stopped"||Ft||na,$e=G==="paused",Ke=Math.max(0,Math.min(100,(P||0)*100)),Ge=Se("audio-player__fill",de?"is-visible":"",Ne?"is-expanded":"",$e?"is-paused":"",na?"is-out":"");return r.jsxs("div",{className:`audio-player ${Qt?"is-disabled":""}${l?` ${l}`:""}`,role:"group","aria-label":typeof m=="string"?m:void 0,children:[r.jsxs("div",{className:`audio-player__panel ${Ht?"is-playing":""} ${S?"is-loading":""} ${K!=="default"?"is-revealed":""}`,children:[S?r.jsxs("div",{className:"audio-player__loading",role:Fv[z]?"status":void 0,"aria-live":Fv[z]?"polite":"off",children:[r.jsx("span",{className:"audio-player__loading-spinner","aria-hidden":"true"}),r.jsx("span",{className:"audio-player__loading-text",children:p("training.audioStatus.preparing",{defaultValue:"\uC18C\uB9AC\uB97C \uC900\uBE44\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4\u2026"})})]}):null,K==="active"?r.jsx("button",{className:"audio-player__button",type:"button",disabled:Qt,onClick:()=>{W.current=ss(),E(),oa()},"aria-label":typeof m=="string"?m:p("training.listen","\uB4E3\uAE30"),onMouseEnter:B,onMouseLeave:E,onFocus:B,onBlur:E,children:r.jsx("span",{ref:_,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:A,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,k&&r.jsx(La,{anchorRect:k,text:typeof m=="string"&&m?m:p("training.listenLabel","\uBB38\uC7A5 \uB4E3\uAE30"),offset:8}),r.jsxs("div",{className:`audio-player__play ${K==="playMode"||Ht?"is-visible":""}`,inert:!(K==="playMode"||Ht)||void 0,children:[r.jsxs("div",{ref:C,className:"audio-player__buttons",children:[r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-back",onClick:uo,ariaLabel:p("training.prev","\uC774\uC804"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:Ht?"pause":"play",onClick:oa,ariaLabel:p("common.playPause","\uC7AC\uC0DD / \uBA48\uCDA4"),"aria-pressed":Ht,width:"60px",variant:"transparent-white",disabled:K!=="playMode"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"square",onClick:co,ariaLabel:p("training.stop","\uC815\uC9C0"),width:"60px",variant:"transparent-white","aria-hidden":"true",tabIndex:-1,disabled:K!=="playMode"}),at>1?r.jsx("div",{ref:w,className:"audio-player__source-buttons",children:Array.from({length:at}).map((ee,pe)=>r.jsx(ve,{htmlType:"button",size:32,type:"dot",shape:"pill",useBorder:!1,label:String(pe+1),onClick:()=>{try{Jt(pe)}catch{}},ariaLabel:p("training.sourcePlay",{n:pe+1}),variant:"transparent-white",selected:O&&L===pe,disabled:K!=="playMode"||!(Array.isArray(R)&&R[pe]),showTooltipInfo:!0},pe))}):null,!Array.isArray(R)||R.length<=1?r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"repeat",onClick:Gt,ariaLabel:p("common.replay","\uB2E4\uC2DC\uB4E3\uAE30"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"}):null,r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"skip-forward",onClick:po,ariaLabel:p("training.next","\uB2E4\uC74C"),width:"60px",variant:"transparent-white","aria-hidden":!0,tabIndex:-1,disabled:K!=="playMode"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",shape:"pill",useBorder:!1,icon:"check",onClick:Za,ariaLabel:p("common.done","\uC644\uB8CC"),width:"60px",variant:"transparent-white",disabled:K!=="playMode"})]}),r.jsxs("div",{className:"audio-player__slider",children:[r.jsx("div",{className:Ge,ref:b,style:{left:`${Ke}%`},"aria-hidden":"true"}),(c||u)&&r.jsx(RE,{segments:Aa,progress:P,totalDuration:ce,waveProgressRef:xe,showSoundWaveForm:c,leadInMs:d,tailMs:h,trackDurationSec:R?.[L]?.duration??0,noiseSrc:u&&v?.settings.enabled&&H>0?nt:null,noiseRatio:v?Fr(v.settings):0,noiseSpeed:v?.settings.speed??1,mainVolume:J,onReadyChange:it})]})]}),r.jsx("audio",{ref:g,crossOrigin:"anonymous",preload:"auto"})]}),!c&&r.jsxs("p",{className:"audio-player__no-waveform caption-1",children:[r.jsx(ot,{icon:"triangle-alert",size:14}),p("training.noSoundWaveform","\uC18C\uB9AC \uBE44\uAD50 \uBB38\uC81C\uB294 \uC6E8\uC774\uBE0C\uD3FC\uC744 \uD45C\uD604\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.")]}),r.jsx(Qo,{message:he,position:ye,onClose:ra})]})}var VE=".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)}";se(VE);function Wr(e){const{t}=we.useTranslation(),{text:a,label:o,anchorRect:n=null,onClose:i,closeOnOutsideClick:l=!0,isMobilePopup:c=!1}=e||{},[u,d]=s.useState(()=>{try{return localStorage.getItem("tooltip-theme")||"light"}catch{return"light"}});s.useEffect(()=>{try{localStorage.setItem("tooltip-theme",u)}catch{}},[u]);const{increase:h,decrease:p,canIncrease:m,canDecrease:v,fontSize:x,lineHeight:g}=Pi({storageKey:"tooltip-fontScale"}),b=s.useCallback(()=>d(A=>A==="dark"?"light":"dark"),[]),C=s.useCallback(A=>{try{A.stopPropagation()}catch{}try{typeof i=="function"&&i()}catch{}},[i]),f=Array.isArray(a)?a:typeof a>"u"||a===null?[]:[a],w={fontSize:`${x}px`,lineHeight:`${g}px`,"--tt-line-height":`${g}px`,"--tt-marker-size":"28px"},y=r.jsxs("div",{className:`tooltip-textbox__root ${u==="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:w,children:f.map((A,_)=>r.jsxs("div",{className:"tooltip-textbox__line",children:[f.length>1?r.jsx("div",{className:"tooltip-textbox__marker",children:r.jsx("span",{className:"tooltip-textbox__line-number button-1",children:_+1})}):null,r.jsx("span",{className:"tooltip-textbox__line-text",children:A})]},_))})]}),r.jsxs("div",{className:"tooltip-textbox__buttons",children:[r.jsx(ve,{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:u==="dark"?"transparent-white":"transparent-gray",disabled:!v}),r.jsx(ve,{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:u==="dark"?"transparent-white":"transparent-gray",disabled:!m}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:u==="dark"?"moon":"sun-medium",onClick:b,ariaLabel:t("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:u==="dark"?"transparent-white":"transparent-gray"}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:"x",onClick:C,ariaLabel:t("common.close","\uB2EB\uAE30"),variant:u==="dark"?"transparent-white":"transparent-gray"})]})]});return n?r.jsx(ka,{anchorRect:n,className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,onClose:i,closeOnOutsideClick:l,isMobilePopup:c,ariaLabel:o||t("tooltip.textbox","\uBCF8\uBB38"),children:y}):r.jsx("div",{className:`tooltip-textbox ${u==="dark"?"is-dark":""}`,children:y})}var UE=".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;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;height:56px;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}}@media (max-width:1024px){.ihabdevteam-core-scope .pp-bottom__meters{height:50px;padding:4px 12px}}@media (max-width:768px){.ihabdevteam-core-scope .pp-bottom__meters{height:46px;padding:2px 10px}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .pp-bottom__meters--floating{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-trigger{display:inline-flex;flex-shrink:0}.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__locked-hint{color:var(--color-gray);margin:0}.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}";se(UE);var qE='.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}}';se(qE);function bp({state:e="disabled"}){const{t}=we.useTranslation();return r.jsxs("div",{className:`ts-bullet ts-bullet--${e}`,"aria-hidden":!0,children:[r.jsx("div",{className:"bullet__dot",children:r.jsx(ot,{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 Hv(e,t,a){const o=s.useRef(t),n=s.useRef(a);s.useEffect(()=>{o.current=t,n.current=a}),s.useEffect(()=>{if(!e||typeof document>"u")return;let i=null,l=10;const c=()=>{i=null;const u=o.current(),d=u?Array.from(u.querySelectorAll(Ga)).find(h=>!h.closest('[aria-hidden="true"]')):void 0;if(d){try{d.focus()}catch{}if(document.activeElement===d)return}--l>0&&(i=requestAnimationFrame(c))};return i=requestAnimationFrame(c),()=>{i!==null&&cancelAnimationFrame(i);const u=document.activeElement;if(!u||u===document.body||!document.contains(u)||u.closest(".tooltip-content")){const d=n.current();if(d)try{d.focus()}catch{}}}},[e])}var YE=".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)}";se(YE);function gp({title:e,children:t,className:a="",state:o="disabled",usePreviewTextBtn:n=!1,onPreviewTextBtn:i,previewText:l=null,useFaded:c,usePlayAllBtn:u=!1,onPlayAll:d,playAllActive:h=!1}){const{t:p}=we.useTranslation(),m=ua("(max-width: 767px)"),v=`training-step__title h4 ${c&&o==="disabled"?"training-step__title--faded":""} ${a}`.trim(),x=`training-step__title-row training-step__title-row--${o}`.trim(),g=s.useRef(null),[b,C]=s.useState(!1),[f,w]=s.useState(null),[y,A]=s.useState(null);Hv(b&&!!f,()=>{if(typeof document>"u")return null;const S=Array.from(document.querySelectorAll(".tooltip-content"));for(let D=S.length-1;D>=0;D--)if(S[D].querySelector(".tooltip-textbox__root"))return S[D];return null},()=>g.current?.querySelector("button")??null);const _=s.useRef(i);s.useEffect(()=>{_.current=i});const k=s.useMemo(()=>l==null?"":typeof l=="string"||typeof l=="number"?String(l):Array.isArray(l)&&l.every(S=>typeof S=="string"||typeof S=="number")?l.join(""):"",[l]),B=s.useCallback(()=>{C(!1),w(null),A(null)},[]);s.useEffect(()=>{if(!b)return;let S;try{typeof _.current=="function"&&(S=_.current())}catch{}if(S===!1){B();return}A(typeof S<"u"&&S!==null?S:null)},[k]);const E=s.useCallback(()=>{let S;try{typeof i=="function"&&(S=i())}catch{}if(S!==!1){if(A(typeof S<"u"&&S!==null?S:l),!g.current){C(D=>!D);return}if(b)C(!1),w(null),A(null);else{const D=g.current.getBoundingClientRect();w(D),C(!0)}}},[i,l,b]);return r.jsxs("div",{className:x,children:[r.jsx("p",{className:v,children:r.jsx("span",{className:"training-step__title-text",children:e??t})}),n||u?r.jsxs("div",{className:"title-controls",children:[r.jsxs("div",{className:"title-buttons",children:[u&&r.jsx(ve,{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:d,variant:o==="disabled"?"disabled":"default",disabled:o==="disabled"||h,onDisabledClick:h&&o!=="disabled"?()=>{}:void 0}),n&&r.jsx("div",{ref:g,children:r.jsx(ve,{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:E,className:b?"is-selected":void 0,"aria-expanded":b,"aria-haspopup":"dialog",variant:o==="disabled"?"disabled":"default",disabled:!l&&typeof i!="function"})})]}),b&&r.jsx(Wr,{text:y??l,label:p("training.sentencePreview","\uBB38\uC7A5 \uBBF8\uB9AC\uBCF4\uAE30"),anchorRect:f,onClose:B,closeOnOutsideClick:!1,isMobilePopup:!0})]}):null]})}function fp(e,t){return typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled"}function No({index:e,stepIndex:t,isLast:a=!1,title:o="",titleProps:n={},children:i,className:l="",onDone:c=void 0,useTitleFaded:u=void 0,lockedHint:d}){const{t:h}=we.useTranslation(),[p,m]=s.useState(()=>fp(e,t));s.useEffect(()=>{const _=fp(e,t);if(_!==p){const k=setTimeout(()=>m(_),0);return()=>clearTimeout(k)}},[e,t,p]);const v=s.useCallback((..._)=>{fp(e,t)==="done"||p==="done"||typeof c=="function"&&c(..._)},[e,t,p,c]),[x,g]=s.useState(!1),[b,C]=s.useState({text:"",label:"\uBB38\uC7A5 \uB4E3\uAE30",anchorRect:null,backdrop:!1,alignX:null,alignY:null}),f=s.useCallback(_=>{if(!_)return null;try{const k=_;if(typeof _=="object"&&(k.currentTarget||k.target)&&(k.nativeEvent||k.type)){const S=k.currentTarget??k.target;if(S&&typeof S.getBoundingClientRect=="function")return S.getBoundingClientRect()}if(_ instanceof DOMRect)return _;const B=_;if(B&&typeof B.getBoundingClientRect=="function")return B.getBoundingClientRect();const E=_?.current;return E&&typeof E.getBoundingClientRect=="function"?E.getBoundingClientRect():null}catch{return null}},[]),w=s.useCallback((_,{text:k="",label:B="\uBB38\uC7A5 \uB4E3\uAE30",backdrop:E=!1,alignX:S="center",alignY:D="top"}={})=>{const z=f(_);C({text:k,label:B,anchorRect:z,backdrop:E,alignX:S,alignY:D}),g(!0)},[f]),y=s.useCallback(()=>{g(!1),C(_=>({..._,anchorRect:null}))},[]),A=s.Children.map(i,_=>{if(s.isValidElement(_)){const k=_;if(typeof k.type=="string")return k;const B=k.props??{},E=typeof B.onDone=="function"?B.onDone:v,S=typeof B.disabled=="boolean";let D=p==="disabled";return S&&(D=!!B.disabled),s.cloneElement(k,{onDone:E,disabled:D,showTooltip:w,hideTooltip:y})}return _});return r.jsxs("div",{className:`training-step training-step--${p} ${a?"training-step--last":""} ${l}`,"aria-current":p==="active",children:[r.jsx(bp,{state:p}),r.jsxs("div",{className:"training-step__content",children:[r.jsx(gp,{state:p,title:o,...n,useFaded:u}),p==="disabled"&&d&&typeof e=="number"&&typeof t=="number"&&e===t+1&&r.jsx("p",{className:"training-step__locked-hint caption-1",role:"status",children:d}),A]}),x?r.jsx(ka,{anchorRect:b.anchorRect,backdrop:b.backdrop,onClose:y,ariaLabel:h("tooltip.textbox","\uBCF8\uBB38"),children:r.jsx(Wr,{text:b.text,onClose:y})}):null]})}var KE='.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)}';se(KE);function vp({context:e,state:t="disabled",theme:a="light"}){const{t:o}=we.useTranslation(),[n,i]=s.useState("disabled"),[l,c]=s.useState(()=>{try{return localStorage.getItem("tooltip-theme")||a}catch{return a}});s.useEffect(()=>{try{localStorage.setItem("tooltip-theme",l)}catch{}},[l]);const u=()=>c(T=>T==="dark"?"light":"dark"),{increase:d,decrease:h,canIncrease:p,canDecrease:m,fontSize:v,lineHeight:x}=Pi({storageKey:"textbox_fontScale"}),[g,b]=s.useState(""),C=s.useRef(null),f=s.useRef(!1),w=s.useCallback(()=>{f.current=ss()&&!!C.current&&C.current.contains(document.activeElement),i("active")},[]),y=s.useCallback(()=>b(""),[]),A=T=>{try{b(T)}catch{}},_=typeof navigator<"u"&&/Mobi|Android/i.test(navigator.userAgent||"");s.useEffect(()=>{if(t!=="disabled"){const T=setTimeout(()=>i(t),0);return()=>clearTimeout(T)}},[t]);const k=s.useMemo(()=>e&&typeof e=="object"?String(e.sentence??e.text??""):typeof e=="string"?e:"",[e]),[B,E]=s.useState(k);B!==k&&(E(k),i("disabled"));const S=t==="disabled"?n:t,D=S==="disabled"?"training-text-box--disabled":S==="active"?"training-text-box--active":S==="done"?"training-text-box--done":"",z=s.useMemo(()=>({fontSize:`${v}px`,lineHeight:`${x}px`}),[v,x]);return s.useEffect(()=>{if(S==="disabled"||!f.current)return;f.current=!1;const T=document.activeElement;T&&T!==document.body||C.current?.querySelector(".training-text-box__buttons button")?.focus()},[S]),r.jsxs("div",{ref:C,className:`training-text-box ${D} ${S!=="disabled"&&l==="dark"?"is-dark":""}`,children:[S==="disabled"&&r.jsx("div",{className:"training-text-box__preview",children:r.jsx(ve,{htmlType:"button",size:48,type:"bar",onClick:w,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:z,children:k})}),S!=="disabled"&&r.jsxs("div",{className:"training-text-box__buttons","aria-hidden":S==="disabled",children:[r.jsx(ve,{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:l==="dark"?"transparent-white":"transparent-gray",disabled:!m,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),r.jsx(ve,{htmlType:"button",size:32,type:"dot",onClick:d,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:l==="dark"?"transparent-white":"transparent-gray",disabled:!p,useBorder:!1,showTooltipInfo:!0,...!_&&{width:"60px"}}),r.jsx(ve,{htmlType:"button",size:32,showTooltipInfo:!0,type:"dot",useBorder:!1,width:48,icon:l==="dark"?"moon":"sun-medium",onClick:u,ariaLabel:o("training.toggleBackground","\uBC30\uACBD \uC804\uD658"),variant:l==="dark"?"transparent-white":"transparent-gray"})]}),r.jsx(Qo,{message:g,position:"top",onClose:y})]})}function rr(e){return e==="active"||e==="done"}function ys({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,useTitleFaded:i,onDone:l,onChange:c,answer:u,wrongAnswers:d,choices:h,multiSelect:p=!1,correctCount:m=0,useDisabledCovered:v=!1,choiceIcons:x,shuffleChoices:g=!0}){const{t:b}=we.useTranslation(),C=n??b("training.selectConfirm","\uBB38\uC81C\uB97C \uBCF4\uACE0 \uD574\uB2F9\uD558\uB294 \uB0B4\uC6A9\uC744 \uC120\uD0DD\uD558\uC138\uC694."),f=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",y=Array.isArray(h)&&h.length?h:typeof u<"u"?[u].concat(Array.isArray(d)?d:[]):void 0,A=d?d.join("||"):"",_=h?h.join("||"):"",[k,B]=s.useState(()=>Array.isArray(y)?g?st(y):y.slice():void 0);s.useEffect(()=>{Array.isArray(y)&&y.length?B(g?st(y):y.slice()):B(void 0)},[u,A,_,g]);const[E,S]=s.useState(null),[D,z]=s.useState(()=>new Set);s.useEffect(()=>{S(null),z(new Set)},[_,u,A]);const T=s.useRef(void 0);s.useEffect(()=>{const j=T.current;typeof j=="number"&&typeof t=="number"&&typeof e=="number"&&j>=e&&t<e&&(S(null),z(new Set)),T.current=t},[t,e]);const G=s.useCallback(j=>{if(!rr(w))return;const P=k?.[j];if(P==null)return;const X=P;if(p){const K=new Set(D);K.has(X)?K.delete(X):K.add(X),z(K),typeof c=="function"&&c({selectedValues:[...K],__ts:Date.now()}),typeof l=="function"&&l({selectedValues:[...K],__ts:Date.now()})}else S(X),typeof c=="function"&&c({selectedIndex:j,selectedValue:X,__ts:Date.now()}),typeof l=="function"&&l({selectedIndex:j,selectedValue:X,__ts:Date.now()})},[k,w,p,c,D]),N=`training-step__buttons${Array.isArray(k)&&k.length>3?" training-step__buttons--wrap-3":""}`;return r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:C,useTitleFaded:i,children:r.jsx("div",{className:N,children:Array.isArray(k)&&k.length>0?k.map((j,P)=>r.jsx(ve,{htmlType:"button",size:56,type:"bar",onClick:()=>G(P),ariaLabel:String(j),label:j,useLabel:!0,icon:x?x[String(j)]:void 0,variant:"default",disabled:w==="disabled",selected:p?D.has(j):E===j,useDisabledCovered:v,minWidth:0},String(j))):null})})}function _s({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,onDone:i,onChange:l,context:c,demoSelected:u}){const{t:d}=we.useTranslation(),h=n??d("training.confirmTitle","\uBB38\uC7A5\uC744 \uD655\uC778\uD558\uACE0 \uC798 \uB4E4\uB838\uB294\uC9C0 \uC120\uD0DD\uD558\uC138\uC694."),p=typeof e=="number"?e:-1,m=typeof t!="number"?"disabled":p<t?"done":p===t?"active":"disabled",v=c&&typeof c=="object"?c.sentence||"":typeof c=="string"?c:"",x=c&&typeof c=="object"?c.choices:void 0,[g,b]=s.useState(u??null),C=`${String(v)}\0${JSON.stringify(x??null)}`,[f,w]=s.useState(C);f!==C&&(w(C),u==null&&b(null));const[y,A]=s.useState(u);Object.is(y,u)||(A(u),b(u??null));const _=s.useRef(void 0);s.useEffect(()=>{const S=_.current;typeof S=="number"&&typeof t=="number"&&typeof e=="number"&&S>=e&&t<e&&u==null&&b(null),_.current=t},[t,e,u]);const k=s.useCallback(S=>{const D=typeof S=="object"&&S!==null?Object.assign({},S,{__ts:Date.now()}):{value:S,__ts:Date.now()};typeof l=="function"&&l(D),rr(m)&&typeof i=="function"&&i(D)},[l,m,i]),B=s.useCallback(()=>{rr(m)&&(b(!1),k(!1))},[k,m]),E=s.useCallback(()=>{rr(m)&&(b(!0),k(!0))},[k,m]);return r.jsxs(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:h,onDone:i,useTitleFaded:!1,children:[r.jsx(vp,{context:c,state:m}),r.jsx("div",{className:"training-step__buttons",children:Array.isArray(x)&&x.length>0?x.slice(0,6).map((S,D)=>r.jsx(ve,{htmlType:"button",size:56,type:"bar",onClick:()=>{rr(m)&&(b(D),k&&k(D))},disabled:m==="disabled",ariaLabel:String(S),label:S,variant:m,selected:g===D},D)):r.jsxs(r.Fragment,{children:[r.jsx(ve,{htmlType:"button",size:56,type:"bar",onClick:B,disabled:m==="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(ve,{htmlType:"button",size:56,type:"bar",onClick:E,disabled:m==="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 ws({index:e,stepIndex:t,isLast:a=!1,title:o,onDone:n,btnLabel:i,soundSrc:l,bucketPath:c,usePreviewTextBtn:u,previewText:d=null,onPreviewTextBtn:h,disabled:p,_pageIndex:m,showSoundWaveForm:v,showNoiseWaveForm:x,leadInMs:g,tailMs:b}){const{t:C}=we.useTranslation(),f=o??C("training.listenTitle","\uC81C\uC2DC\uD558\uB294 \uBB38\uC7A5\uC744 \uB4E4\uC5B4\uC8FC\uC138\uC694."),w=p??(typeof t=="number"&&typeof e=="number"?e>t:!1);return r.jsx(No,{index:e,stepIndex:t,isLast:a,title:f,onDone:n,titleProps:{usePreviewTextBtn:u,previewText:d,onPreviewTextBtn:h},children:r.jsx(Vn,{soundSrc:l,ttsText:l?null:d??f,bucketPath:c,btnLabel:i||C("training.listenButton","\uBB38\uC7A5 \uB4E3\uAE30"),disabled:w,className:"training-step__listen-sticky",showSoundWaveForm:v,showNoiseWaveForm:x,leadInMs:g,tailMs:b},`audio-p${m??0}-s${e}`)})}var XE=".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--full{max-width:none;padding:0}.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%}";se(XE);var ZE=".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}";se(ZE);const JE=[];function ks({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,onDone:i,onChange:l,context:c=JE}){const{t:u}=we.useTranslation(),d=n??u("training.orderListDefault","\uBB38\uC7A5\uC744 \uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uBC30\uCE58\uD558\uC138\uC694."),h=q=>typeof q=="string"?q:q&&(q.context||q.sentence||q.question||"")||"",[p,m]=s.useState(Array.isArray(c)?c:[]),[v,x]=s.useState(()=>(p||[]).map((q,L)=>({id:L,text:h(q)}))),g=s.useMemo(()=>typeof t!="number"||typeof e!="number"?"disabled":e<t?"done":e===t?"active":"disabled",[t,e]),b=g!=="disabled",C=s.useRef(void 0),f=s.useRef(void 0);s.useEffect(()=>{if(C.current===c)return;C.current=c;const q=Array.isArray(c)?c:[];m(q);const L=(I=>{const O=(I||[]).map((be,J)=>({id:J,text:h(be)}));if(O.length<=1)return O;const Q=(be,J)=>{if(be.length!==J.length)return!1;for(let H=0;H<be.length;H++)if(be[H].text!==J[H].text)return!1;return!0};let ce=st(O),ne=0;for(;Q(ce,O)&&ne<20;)ce=st(O),ne+=1;return ce})(q);x(L);try{if(typeof l=="function"){const I=L.filter((O,Q)=>O.text===h(q[Q])).length;l({shuffled:L,score:I,total:(q||[]).length,initial:!0,__ts:Date.now()})}if(typeof i=="function"&&g==="active"){const I=L.filter((O,Q)=>O.text===h(q[Q])).length;f.current=c,i({shuffled:L,score:I,total:(q||[]).length,initial:!0,__ts:Date.now()})}}catch{}},[c]),s.useEffect(()=>{if(g!=="active"||f.current===c||(f.current=c,typeof i!="function"))return;const q=Array.isArray(c)?c:[],L=v.filter((I,O)=>I.text===h(q[O])).length;i({shuffled:v,score:L,total:q.length,initial:!0,__ts:Date.now()})},[g,c]);const w=(q,L)=>{const I=[...v],O=q+L;if(O<0||O>=I.length)return;const Q=I[O];I[O]=I[q],I[q]=Q,X(I);try{if(typeof i=="function"&&g==="active"){const ce=I.filter((ne,be)=>ne.text===h(p[be])).length;i({shuffled:I,score:ce,total:(p||[]).length,__ts:Date.now()})}}catch{}},[y,A]=s.useState(null),_=s.useRef(null),k=s.useRef(null),B=s.useRef(null),E=s.useRef(null),S=s.useRef(null),D=s.useRef({x:0,y:0}),z=s.useRef(null),T=s.useRef({dx:0,dy:0}),G=()=>{if(z.current!==null)return;const q=()=>{if(!_.current){z.current=null;return}z.current=requestAnimationFrame(q);const L=D.current,I=T.current||{dx:0,dy:0};_.current&&(_.current.style.transform=`translate3d(${L.x-I.dx}px, ${L.y-I.dy}px, 0)`)};z.current=requestAnimationFrame(q)},N=s.useRef(new Map),j=s.useRef(new Map),P=()=>{const q=new Map;return N.current.forEach((L,I)=>{L&&L.getBoundingClientRect&&q.set(I,L.getBoundingClientRect())}),q},X=q=>{const L=P();x(q);try{if(typeof l=="function"){const I=q.filter((O,Q)=>O.text===h(p[Q])).length;l({shuffled:q,score:I,total:(p||[]).length,__ts:Date.now()})}}catch{}requestAnimationFrame(()=>{const I=P();q.forEach(O=>{const Q=L.get(O.id),ce=I.get(O.id),ne=N.current.get(O.id);if(!ne||!Q||!ce)return;const be=Q.top-ce.top;be&&(ne.style.transition="none",ne.style.transform=`translateY(${be}px)`,requestAnimationFrame(()=>{ne.style.transition="transform 420ms cubic-bezier(.22,.9,.39,1)",ne.style.transform="";const J=()=>{ne.style.transition="",ne.removeEventListener("transitionend",J)};ne.addEventListener("transitionend",J)}))})})},K=(q,L)=>{try{try{L.dataTransfer?.setData("text/plain",String(q))}catch{}try{L.dataTransfer&&(L.dataTransfer.effectAllowed="move")}catch{}try{const I=document.createElement("div");I.style.cssText="position:absolute;top:-9999px;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;",document.body.appendChild(I),L.dataTransfer?.setDragImage(I,0,0),requestAnimationFrame(()=>{try{document.body.removeChild(I)}catch{}})}catch{}}catch{}A(q);try{const I=v[q],O=document.createElement("div");O.className="order-list__dragging-object order-list__dragging-object--visible",O.textContent=I&&I.text?I.text:"",document.body.appendChild(O),_.current=O;const Q=N.current.get(I.id);let ce=L.clientX||0,ne=L.clientY||0;try{if(Q&&Q.getBoundingClientRect){const Z=Q.getBoundingClientRect();ce=Z.left+Z.width/2,ne=Z.top+Z.height/2}}catch{}const be=O.getBoundingClientRect(),J=be.width/2,H=be.height/2;T.current={dx:J,dy:H},O.style.transition="none",D.current={x:ce,y:ne},O.style.transform=`translate3d(${ce-J}px, ${ne-H}px, 0)`,requestAnimationFrame(()=>{try{O.style.transition=""}catch{}G()});const le=Z=>{const he=Z;D.current={x:he.clientX,y:he.clientY},G()};B.current=le,document.addEventListener("mousemove",le);const Y=Z=>{const he=Z;D.current={x:he.clientX,y:he.clientY},G()};k.current=Y,document.addEventListener("dragover",Y);try{L.dataTransfer?.setData("text/plain",String(q));try{L.dataTransfer?.setData("application/json",JSON.stringify({idx:q}))}catch{}}catch{}}catch{}},M=(q,L)=>{L.preventDefault();try{L.dataTransfer&&(L.dataTransfer.dropEffect="move")}catch{}try{S.current!==null&&(clearTimeout(S.current),S.current=null);const I=L.currentTarget&&L.currentTarget.closest?L.currentTarget.closest(".order-list__item"):null;if(I&&E.current!==I){if(E.current)try{E.current.classList.remove("drag-over")}catch{}try{I.classList.add("drag-over")}catch{}E.current=I}}catch{}},W=(q,L)=>{L.preventDefault();const I=L.dataTransfer?.getData("text/plain")||"",O=I?parseInt(I,10):y,Q=q;if(typeof O!="number"||isNaN(O)||O===Q){A(null),F(),R();return}const ce=ql(v,O,Q);X(ce),A(null),R();try{if(typeof i=="function"&&g==="active"){const ne=ce.filter((be,J)=>be.text===h(p[J])).length;i({shuffled:ce,score:ne,total:(p||[]).length,__ts:Date.now()})}}catch{}try{requestAnimationFrame(()=>{const ne=document.querySelectorAll(".order-list .order-list__item")[Q];if(!ne)return;const be=ne.querySelector(".order-list__slot")||ne;try{be.classList.add("pulse"),be.offsetHeight,be.classList.add("to-dark");const J=()=>{be.classList.remove("pulse","to-dark"),be.removeEventListener("transitionend",J)};be.addEventListener("transitionend",J)}catch{}})}catch{}F()},R=()=>{if(_.current){try{document.body.removeChild(_.current)}catch{}_.current=null}k.current&&(document.removeEventListener("dragover",k.current),k.current=null),B.current&&(document.removeEventListener("mousemove",B.current),B.current=null),z.current!==null&&(cancelAnimationFrame(z.current),z.current=null)},U=()=>{A(null),F(),R()};s.useEffect(()=>()=>R(),[]);const F=()=>{try{if(S.current!==null&&(clearTimeout(S.current),S.current=null),E.current){try{E.current.classList.remove("drag-over")}catch{}E.current=null}document.querySelectorAll(".order-list .order-list__item").forEach(q=>q.classList.remove("drag-over"))}catch{}};return s.useEffect(()=>{try{const q=Math.max(1,(v||[]).length);v.forEach((L,I)=>{const O=j.current.get(L.id);if(!O)return;let Q=50;q>1&&(Q=Math.round(I/(q-1)*100));try{O.style.setProperty("--marker-pos",Q+"%")}catch{}})}catch{}},[v]),s.useEffect(()=>()=>{R(),S.current!==null&&(clearTimeout(S.current),S.current=null)},[]),r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:d,children:r.jsx("div",{className:"order-list",children:v.map((q,L)=>{const I=Math.max(1,(v||[]).length),O=I>1?Math.round(L/(I-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":O+"%"},ref:Q=>{const ce=j.current;Q?ce.set(q.id,Q):ce.delete(q.id)},children:r.jsx("span",{className:"order-list__slot-number button-1",children:L+1})}):null,r.jsxs("div",{ref:Q=>{const ce=N.current;Q?ce.set(q.id,Q):ce.delete(q.id)},className:`order-list__draggable ${y===L?"dragging":""}`,"data-disabled":g==="disabled","aria-disabled":g==="disabled",tabIndex:g==="disabled"?-1:0,draggable:b,onDragStart:b?Q=>K(L,Q):void 0,onDragEnter:b?Q=>M(L,Q):void 0,onDragOver:b?Q=>M(L,Q):void 0,onDragLeave:b?()=>{try{S.current!==null&&clearTimeout(S.current),S.current=setTimeout(()=>{try{const Q=document.querySelectorAll(".order-list .order-list__item");Q&&Q[L]&&(Q[L].classList.remove("drag-over"),E.current===Q[L]&&(E.current=null))}catch{}},80)}catch{}}:void 0,onDrop:b?Q=>W(L,Q):void 0,onDragEnd:b?U:void 0,children:[r.jsx("span",{className:"order-list__item-text body-2",children:q.text}),b?r.jsxs("span",{className:"order-list__item-buttons",children:[r.jsx(ve,{htmlType:"button",size:32,type:"dot",onClick:()=>w(L,-1),ariaLabel:u("training.up"),icon:"chevron-up",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===0,useBorder:!1,useDisabledInvisible:!0}),r.jsx(ve,{htmlType:"button",size:32,type:"dot",onClick:()=>w(L,1),ariaLabel:u("training.down"),icon:"chevron-down",variant:"transparent-gray",width:48,useFaded:"true",disabled:L===v.length-1,useBorder:!1,useDisabledInvisible:!0})]}):null]})]})},q.id)})})})}var QE="";se(QE);const e6=8e3;function t6(e,t){return new Promise(a=>{let o=!1;const n=()=>{o||(o=!0,a())};e.then(n,n),setTimeout(n,t)})}function xp({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,onDone:i,onChange:l,context:c=[],selectable:u=!1,hideLabel:d=!1,hideAudio:h=!1,maxCards:p,playAllGapMs:m=0}){const{t:v}=we.useTranslation(),x=n??v("training.cardInstructions","\uB0B1\uB9D0 \uCE74\uB4DC\uB97C \uBCF4\uACE0 \uC18C\uB9AC\uB97C \uB4E3\uACE0 \uD655\uC778\uD558\uC138\uC694."),g=s.useMemo(()=>Array.isArray(c)?c:c&&c.items||[],[c]),b=p??3,C=(g||[]).slice(0,b);(g||[]).length>b&&console.warn(`TrainingStepCard: ${g.length} items passed but only ${b} shown`);const f=typeof e=="number"?e:-1,w=typeof t!="number"?"disabled":f<t?"done":f===t?"active":"disabled",[y,A]=s.useState(null),_=s.useRef([]),[k,B]=s.useState(!1),E=s.useRef(null),S=s.useRef(!0);s.useEffect(()=>(S.current=!0,()=>{S.current=!1}),[]);const D=s.useMemo(()=>g.map(P=>P?.id??P?.word??"").join("|"),[g]);s.useEffect(()=>{A(null)},[D]);const z=s.useRef(void 0);s.useEffect(()=>{const P=z.current;typeof P=="number"&&typeof t=="number"&&typeof e=="number"&&P>=e&&t<e&&A(null),z.current=t},[t,e]);const T=s.useCallback((P,X)=>{if(u)return;const K={item:P,index:X,__ts:Date.now()};try{typeof l=="function"&&l(K)}catch{}if(w==="active"&&typeof i=="function")try{i(K)}catch{}},[u,l,w,i]),G=s.useRef(m);s.useEffect(()=>{G.current=Math.max(0,m||0)},[m]);const N=s.useCallback(async()=>{if(k||w==="disabled")return;B(!0);let P=!1;const X=new Promise(K=>{E.current=()=>{P=!0,K()}});try{for(let K=0;K<C.length&&!(!S.current||P);K++){const M=_.current[K];if(!M)continue;await Promise.race([t6(M.play(),e6),X]);const W=Math.max(0,G.current||0);W>0&&K<C.length-1&&!P&&S.current&&await Promise.race([new Promise(R=>{setTimeout(R,W)}),X])}}finally{E.current=null,B(!1)}},[k,w,C.length]),j=s.useCallback((P,X)=>{if(!rr(w))return;A(X);const K={selectedValue:P.word||P.title||"",selectedIndex:X,item:P,__ts:Date.now()};try{typeof l=="function"&&l(K)}catch{}if(typeof i=="function")try{i(K)}catch{}},[l,w,i]);return r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:x,onDone:i,titleProps:{usePlayAllBtn:!h&&C.length>0,onPlayAll:N,playAllActive:k},children:r.jsx("div",{className:"training-step__cards",onClickCapture:P=>{const X=E.current;if(!X)return;const K=P.target;K&&typeof K.closest=="function"&&K.closest(".training-word-card__bottom")&&X()},children:C.length===0?r.jsx("div",{className:"training-step__empty",children:v("training.noCards","\uCE74\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")}):C.map((P,X)=>r.jsx(cs,{ref:K=>{_.current[X]=K},item:P,disabled:w==="disabled",onPlayDone:()=>T(P,X),selectable:u,selected:u&&y===X,onSelect:u?()=>j(P,X):void 0,flipDelay:X*120,hideLabel:d,hideAudio:h},P&&P.id||X))})})}const a6=160;var o6=".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;grid-gap:var(--panel-grid-gap,1px);background:var(--color-darkWhite);display:grid;gap:1px;gap:var(--panel-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:not(.panel-grid--columns) .panel-row{background:var(--color-white)}.ihabdevteam-core-scope .panel-grid:not(.panel-grid--columns) .panel-row+.panel-row{border-top:none}.ihabdevteam-core-scope .panel-grid--columns{background:transparent;-moz-column-count:2;column-count:2;-moz-column-count:var(--panel-grid-cols,2);column-count:var(--panel-grid-cols,2);-moz-column-gap:1px;column-gap:1px;-moz-column-gap:var(--panel-grid-gap,1px);column-gap:var(--panel-grid-gap,1px);display:block;overflow:visible;padding-bottom:0}.ihabdevteam-core-scope .panel-grid--columns>*{-moz-column-break-inside:avoid;box-sizing:border-box;break-inside:avoid;display:inline-flex;flex-direction:column;margin-bottom:1px;margin-bottom:var(--panel-grid-gap,1px);page-break-inside:avoid;vertical-align:top;width:100%}.ihabdevteam-core-scope .panel-grid--columns>:last-child{margin-bottom:0}.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--fill .panel-row__right{align-items:center;display:flex}.ihabdevteam-core-scope .panel-row--fill .panel-row__right>*,.ihabdevteam-core-scope .panel-row--fill>.dropdown,.ihabdevteam-core-scope .panel-row--fill>.form-input,.ihabdevteam-core-scope .panel-row--fill>.text-field{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}}";se(o6);const Vv=()=>{};function Xa(e){const t=s.useId();if(!("variant"in e)){const{label:f,sub:w,onClick:y,children:A,align:_="horizontal",icon:k,useFullWidth:B=!1}=e,E=S=>{y&&S.target===S.currentTarget&&(S.key==="Enter"||S.key===" ")&&(S.preventDefault(),y())};return r.jsxs("div",{className:Se("panel-row",_==="vertical"?"panel-row--vertical":"",B?"panel-row--label-fixed panel-row--fill":"",y?"panel-row--clickable":""),onClick:y,onKeyDown:y?E:void 0,role:y?"button":void 0,tabIndex:y?0:void 0,children:[k!=null&&r.jsx("div",{className:"panel-row__icon",children:k}),f!=null&&r.jsxs("div",{className:"panel-row__left",children:[r.jsx("div",{className:"panel-row__label body-3",children:f}),w&&r.jsx("div",{className:"panel-row__sub caption-1",children:w})]}),r.jsx("div",{className:"panel-row__right",children:A})]})}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($r,{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:l,error:c,align:u="horizontal",useFullWidth:d=!1,icon:h}=e,p=a==="button"?void 0:i;let m=null;const v=a==="toggle"?`panel-toggle-${t}`:void 0,x=c?`panel-error-${t}`:void 0,g=`panel-helper-${t}`;if(a==="toggle"){const f=e;m=r.jsx(Nd,{checked:f.checked,onChange:f.onChange,id:v})}else if(a==="segmented"){const f=e;m=r.jsx(Ra,{options:f.options,value:f.value,onChange:f.onChange,size:f.size??40,ariaLabel:o})}else if(a==="dropdown"){const f=e,w=f.dropdowns?.length?r.jsx("div",{className:`panel-row__dropdown-group${d?" panel-row__dropdown-group--full":""}`,children:f.dropdowns.map((y,A)=>r.jsx("div",{className:d?"panel-row__dropdown-item--full":void 0,children:r.jsx(xa,{options:y.options,value:y.value,onChange:y.onChange,placeholder:y.placeholder,block:d,error:!!c,ariaDescribedBy:x,ariaLabel:y.ariaLabel??([o,y.placeholder].filter(Boolean).join(" ")||void 0)})},A))}):r.jsx(xa,{options:f.options??[],value:f.value??"",onChange:f.onChange??Vv,block:d,error:!!c,ariaLabel:o,ariaDescribedBy:x});m=c?r.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[w,r.jsx("span",{id:x,className:"caption-1 panel-row__error",role:"alert",children:c})]}):w}else if(a==="button"){const f=e;f.buttons?.length?m=r.jsx("div",{className:"panel-row__button-group",children:f.buttons.map((w,y)=>r.jsx(ve,{htmlType:"button",size:w.btnSize??40,variant:w.btnVariant??"default",disabled:w.disabled,onClick:w.onClick,children:w.label},y))}):m=r.jsx(ve,{htmlType:"button",size:f.btnSize??40,variant:f.btnVariant??"default",disabled:f.disabled,onClick:f.onClick,children:f.buttonLabel})}else if(a==="text"){const f=e;m=r.jsx("span",{className:`panel-row__text body-2${d?" panel-row__text--full":""}`,style:f.valueColor?{color:f.valueColor}:void 0,children:f.value})}else if(a==="input"){const f=e;m=r.jsxs("div",{className:`panel-row__input-wrap${d?" panel-row__input-wrap--full":""}`,children:[r.jsx(So,{value:f.value,onChange:f.onChange??Vv,onKeyDown:f.onKeyDown,onEnter:f.onEnter,placeholder:f.placeholder,ghostText:f.ghostText,ghostHint:f.ghostHint,inputMode:f.inputMode,readOnly:f.readOnly,disabled:f.disabled,type:f.type,autoComplete:f.autoComplete,maxLength:f.maxLength,showCount:f.showCount,multiline:f.multiline,rows:f.rows,fullWidth:d,error:c,ariaLabel:o,required:l,ariaDescribedBy:f.helperText?g:void 0}),f.helperText&&r.jsx("div",{id:g,className:"panel-row__helper caption-1",children:f.helperText})]})}else a==="custom"&&(m=e.children);c&&a!=="input"&&a!=="dropdown"&&(m=r.jsxs("div",{className:`panel-row__dropdown-error-wrap${d?" panel-row__dropdown-error-wrap--full":""}`,children:[m,r.jsx("span",{id:x,className:"caption-1 panel-row__error",role:"alert",children:c})]}));const b=a==="input"||a==="dropdown"||(a==="text"||a==="custom")&&d,C=f=>{p&&f.target===f.currentTarget&&(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),p())};return r.jsxs("div",{className:Se("panel-row",u==="vertical"?"panel-row--vertical":"",b?"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:[v?r.jsxs("label",{htmlFor:v,className:"panel-row__label body-3",children:[o,l&&r.jsx("span",{className:"required-mark",children:"*"})]}):r.jsxs("div",{className:"panel-row__label body-3",children:[o,l&&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 Uv(e){const t=e.productName||e.brand,a=[e.brand,e.fitType].filter(o=>!!o&&o!==t);return[...new Set(a)].join(" \xB7 ")}function qv({devices:e,onRelease:t,emptyLabel:a}){const{t:o,i18n:n}=we.useTranslation();return r.jsx("div",{className:"panel-row panel-row--device",children:["left","right"].map(i=>{const l=e[i],c=i==="left"?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:c}),l&&t&&r.jsx(ve,{htmlType:"button",size:32,type:"dot",icon:"x",ariaLabel:`${c} ${o("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C")}`,showTooltipInfo:o("customers.device.unwear","\uCC29\uC6A9 \uD574\uC81C"),onClick:()=>t(i)})]}),l?r.jsxs("div",{className:"panel-row__device-info",children:[r.jsxs("span",{className:"panel-row__device-kind",children:[l.device&&r.jsx(Lt,{size:"small",variant:y0(l.device),fill:"soft",label:_0(l.device,o)}),Uv(l)&&r.jsx("span",{className:"panel-row__device-detail body-3",children:Uv(l)})]}),r.jsx("span",{className:"panel-row__device-name body-2b",children:l.productName||l.brand}),Vd(l.wornYear,l.wornMonth,l.wornDay,n.language)&&r.jsx("span",{className:"panel-row__device-date caption-1",children:o("customers.device.wornSince",{date:Vd(l.wornYear,l.wornMonth,l.wornDay,n.language)})})]}):r.jsx("span",{className:"panel-row__device-empty body-3",children:a??o("customers.device.notRegistered","\uBBF8\uB4F1\uB85D")})]},i)})})}function Un({title:e,titleLevel:t=2,icon:a,disc:o,actions:n,size:i="medium",minHeight:l,maxWidth:c,className:u,scrollable:d,scrollbarGutter:h="auto",compactRows:p=!1,useBorder:m=!0,useBg:v=!0,useRowBorder:x=!0,labelWidth:g,form:b=!1,loading:C,empty:f,children:w}){const y=Se("panel",`panel--${i}`,b?"panel--form":"",l!==void 0?"panel--fill":"",m?"":"panel--no-border",v?"":"panel--no-bg",x?"":"panel--no-row-border",p?"panel--compact-rows":"",u),A={};l!==void 0&&(A.minHeight=l),c!==void 0&&(A.maxWidth=typeof c=="number"?`${c}px`:c),g!==void 0&&(A["--panel-label-width"]=typeof g=="number"?`${g}px`:g);const _=t?`h${t}`:"div";return r.jsxs("div",{className:y,style:Object.keys(A).length?A:void 0,children:[(!!e||o!=null)&&r.jsxs("div",{className:Se("panel__header",o!=null?"panel__header--with-disc":""),children:[a&&r.jsx(ot,{icon:a,label:typeof e=="string"?e:void 0,className:"panel__icon"}),r.jsxs("div",{className:"panel__title-group",children:[!!e&&r.jsx(_,{className:`panel__title ${o!=null?"body-3b":"h5b"}`,children:e}),o!=null&&r.jsx("p",{className:"panel__disc caption-1",children:o})]}),n&&r.jsx("div",{className:"panel__actions",children:n})]}),C?r.jsx(Xa,{variant:"loading"}):f!=null&&s.Children.toArray(w).length===0?r.jsx(Xa,{variant:"empty",children:f}):d?r.jsx("div",{className:Se("panel__body--scroll",h==="stable"&&"panel__body--gutter-stable"),children:w}):w]})}function Yv({cols:e=2,layout:t="grid",gap:a=1,collapseAt:o,className:n,style:i,children:l}){const c=s.useRef(null),[u,d]=s.useState();s.useEffect(()=>{const p=c.current;if(o===void 0||!p||(d(p.clientWidth),typeof ResizeObserver>"u"))return;const m=new ResizeObserver(([v])=>d(v.contentRect.width));return m.observe(p),()=>m.disconnect()},[o]);const h=o!==void 0&&u!==void 0&&u<=o;return r.jsx("div",{ref:c,className:Se("panel-grid",t==="columns"&&"panel-grid--columns",n),style:{"--panel-grid-cols":h?1:e,"--panel-grid-gap":typeof a=="number"?`${a}px`:a,...i},children:l})}function r6(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 Kv(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"}]}r6(wt.t.bind(wt)),Kv(wt.t.bind(wt));var n6='.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}.ihabdevteam-core-scope .noise-settings__value--disabled{opacity:.4}.ihabdevteam-core-scope .noise-settings__width-ghost{height:0;overflow:hidden;pointer-events:none;visibility:hidden}.ihabdevteam-core-scope .noise-settings__width-ghost .panel-row{border:0;margin:0;min-height:0;padding-bottom:0;padding-top:0}';se(n6);const Bs="none",i6=.5,s6=1.5,l6=.25;function Cp({title:e,valueLabel:t,value:a,min:o,max:n,step:i,tickStep:l,size:c,disabled:u,onChange:d}){return r.jsxs(Xa,{variant:"custom",label:e,useFullWidth:!0,children:[r.jsx(Id,{value:a,onChange:d,min:o,max:n,step:i,size:c,showBgTick:!0,tickStep:l,ariaLabel:e,disabled:u,className:"noise-settings__slider-input"}),r.jsx("div",{className:Se("noise-settings__value","button-1",u?"noise-settings__value--disabled":""),children:t})]})}function yp({anchorRect:e,onClose:t,hideNoiseRows:a=!1}){const{t:o}=we.useTranslation(),n=ua("(max-width: 767px)")?40:24,i=Wn(),l=Fr(i?.settings??Do),c=i?.settings.type??"defaultNoise",u=i?.settings.enabled??!0,d=i?.playbackRate??1,h=i?.mainVolume??1,p=Math.round(h*100),m=s.useCallback(C=>{try{i?.setMainVolume(Math.max(0,Math.min(1,C/100)))}catch{}},[i]),v=s.useCallback(C=>{try{i?.setPlaybackRate(C)}catch{}},[i]),x=s.useCallback(C=>{const f=Math.min(Or,Math.max(0,Math.round(C*10)/10));try{i?.setSettings({noiseRatio:f})}catch{}},[i]),g=s.useCallback(C=>{try{C===Bs?i?.setSettings({enabled:!1}):i?.setSettings({type:C,enabled:!0})}catch{}},[i]),b=[{key:Bs,label:o("training.noise.type.none","\uC5C6\uC74C")},...Kv(o).map(C=>({key:C.value,label:C.label}))];return r.jsx(ka,{anchorRect:e,offset:12,onClose:t,ariaLabel:o("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),isMobilePopup:!1,closeOnOutsideClick:!1,header:r.jsxs("div",{className:"noise-settings__header",children:[r.jsx("span",{children:o("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815")}),r.jsx(ve,{htmlType:"button",size:40,type:"dot",icon:"x",variant:"transparent-gray",useBorder:!1,ariaLabel:o("common.close","\uB2EB\uAE30"),onClick:t})]}),children:r.jsxs(Un,{className:"noise-settings",useBorder:!1,labelWidth:72,children:[r.jsx(Cp,{title:o("training.playVolumeTitle","\uC804\uCCB4 \uC18C\uB9AC"),valueLabel:`${p}%`,value:p,min:0,max:100,step:10,size:n,onChange:m}),r.jsx(Cp,{title:o("training.playSpeedTitle","\uC7AC\uC0DD \uC18D\uB3C4"),valueLabel:`${d.toFixed(2)}x`,value:d,min:i6,max:s6,step:l6,size:n,onChange:v}),!a&&r.jsxs(r.Fragment,{children:[r.jsx(Xa,{variant:"custom",label:o("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),useFullWidth:!0,children:r.jsx(Ra,{ariaLabel:o("training.noiseTypeTitle","\uC18C\uC74C \uC885\uB958"),size:40,shape:"rounded",options:b,value:u?c:Bs,onChange:g})}),r.jsx(Cp,{title:o("training.noiseRatioTitle","\uC18C\uC74C \uBE44\uC728"),valueLabel:o("training.noiseRatioValue","{{ratio}}\uBC30",{ratio:l.toFixed(1)}),value:l,min:0,max:Or,step:dp,size:n,disabled:!u,onChange:x})]}),a&&r.jsx("div",{className:"noise-settings__width-ghost","aria-hidden":"true",inert:!0,children:r.jsx(Xa,{variant:"custom",label:"\xA0",useFullWidth:!0,children:r.jsx(Ra,{ariaLabel:"width-ghost",size:40,shape:"rounded",options:b,value:Bs,onChange:()=>{}})})})]})})}var c6=".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;box-sizing:border-box;display:flex;flex-direction:column;gap:2px;height:56px;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}}@media (max-width:1024px){.ihabdevteam-core-scope .pp-bottom__meters{height:50px;padding:4px 12px}}@media (max-width:768px){.ihabdevteam-core-scope .pp-bottom__meters{height:46px;padding:2px 10px}}.ihabdevteam-core-scope .pp-bottom__tooltip-trigger{display:inline-block}.ihabdevteam-core-scope .pp-bottom__meters--floating{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ihabdevteam-core-scope .pp-bottom__meter-trigger{display:inline-flex;flex-shrink:0}";se(c6);function _p({useNoiseSettingBtn:e=!1,onSettings:t,onNext:a,onResult:o,stepIndex:n=0,stepCount:i=0,pageIndex:l=0,pageCount:c=1,resultOpen:u=!1,hideNoiseRows:d=!1}){const{t:h}=we.useTranslation(),[p,m]=s.useState(!1),[v,x]=s.useState(null),[g,b]=s.useState(!1),C=s.useRef(null),f=s.useRef(null),w=Wn(),y=c>0,A=y&&l<c-1,_=!y||l>=c-1,k=n===Math.max(0,i);s.useEffect(()=>{e||(m(!1),x(null))},[e]);const B=s.useCallback(()=>{m(!1),x(null)},[]),E=s.useCallback(()=>{if(p){m(!1),x(null);return}const X=C?.current?.getBoundingClientRect();X&&x(X),t?.(),m(!0)},[p,t]),S=s.useCallback(()=>{if(p){m(!1),x(null);return}const X=f?.current?.getBoundingClientRect();X&&x(X),t?.(),m(!0)},[p,t]),D=ua("(max-width: 767px)"),z=s.useRef(null),[T,G]=s.useState(null),N=s.useCallback(()=>{b(X=>{const K=!X;return G(K?z.current?.getBoundingClientRect()??null:null),K})},[]),j=s.useCallback(()=>{b(!1),G(null)},[]);s.useEffect(()=>{u&&(b(!1),G(null))},[u]);const P=r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"pp-bottom__meter",children:[r.jsx("span",{className:"pp-bottom__meter-label caption-1",children:h("training.meter.sentence","\uC7AC\uC0DD")}),r.jsx(ns,{analyser:w?.mainAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:h("training.meter.sentence","\uC7AC\uC0DD")})]}),r.jsxs("div",{className:"pp-bottom__meter",children:[r.jsx("span",{className:"pp-bottom__meter-label caption-1",children:h("training.meter.noise","\uC18C\uC74C")}),r.jsx(ns,{analyser:w?.noiseAnalyser??null,orientation:"horizontal",length:112,label:"db",labelPos:"left",ariaLabel:h("training.meter.noise","\uC18C\uC74C")})]})]});return Hv(e&&p,()=>typeof document<"u"?document.querySelector(".noise-settings__header")?.closest(".tooltip-content")??null:null,()=>[C.current,f.current].map(X=>X?.querySelector("button")??null).find(X=>!!X&&X.getClientRects().length>0)??C.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:C,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:56,type:"bar",icon:"settings",onClick:E,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:h("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),label:h("training.trainingSettingsTitle","\uD6C8\uB828 \uC124\uC815"),minWidth:140})})}),r.jsx("div",{className:"pp-bottom__settings--mobile",children:r.jsx("div",{ref:f,className:"pp-bottom__tooltip-trigger","data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:56,type:"dot",shape:"pill",icon:"settings",onClick:S,className:p?"is-selected":void 0,"aria-expanded":p,"aria-haspopup":"dialog",ariaLabel:h("training.settings","\uC124\uC815")})})})]}):null,e&&r.jsx("div",{ref:z,className:"pp-bottom__meter-trigger","data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:40,type:"dot",shape:"pill",icon:"audio-lines",onClick:N,selected:g,"aria-expanded":D?g:void 0,ariaLabel:h("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC")})}),e&&g&&!D&&r.jsx("div",{className:"pp-bottom__meters",children:P})]}),e&&g&&D&&T&&r.jsx(ka,{anchorRect:T,onClose:j,ariaLabel:h("training.meter.toggle","\uC624\uB514\uC624 \uBBF8\uD130 \uD45C\uC2DC"),children:r.jsx("div",{className:"pp-bottom__meters pp-bottom__meters--floating",children:P})}),r.jsxs("div",{className:"pp-bottom__right",children:[_&&r.jsx(ve,{htmlType:"button",size:56,type:"bar",icon:"check",onClick:typeof o=="function"?o:a,ariaLabel:h("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),label:h("training.viewResult","\uACB0\uACFC\uBCF4\uAE30"),variant:"main",disabled:!k}),A&&r.jsx(ve,{htmlType:"button",size:56,type:"bar",rightIcon:"chevron-right",align:"right",onClick:a,ariaLabel:h("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),label:h("training.nextQuestion","\uB2E4\uC74C \uBB38\uC81C"),variant:"main",disabled:!k})]}),e&&p&&r.jsx(yp,{anchorRect:v,onClose:B,hideNoiseRows:d})]})}var u6=".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}}";se(u6);function wp({title:e,subtitle:t,desc:a,depth:o,icon:n,wrapperStyle:i,iconTooltip:l,pageIndex:c,pageCount:u,progressMax:d,progressIndex:h,onBack:p,onClose:m}){const{t:v}=we.useTranslation(),x=ua("(max-width: 767px)"),g=Number.isInteger(h)?h:c||0,b=Number.isInteger(d)?d:u||0,C=p||m,f=Array.isArray(o)?x?o[o.length-1]:o.join(" / "):o,w=typeof e=="string"?e.trim():e,y=typeof t=="string"?t.trim():t,A=!!(w||y),_=A?w||y:v("common.emptyTrainingName","\uD6C8\uB828 \uC774\uB984\uC774 \uBE44\uC5B4 \uC788\uC2B5\uB2C8\uB2E4."),k=f||(w?t:void 0),B=x&&typeof k=="string"&&(k.includes(" \xB7 ")||k.includes(" / "))?k.split(/\s[·/]\s/).pop():k,E=s.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:[C?r.jsx(ve,{htmlType:"button",size:48,type:"dot",icon:"chevron-left",ariaLabel:v("common.back","\uB4A4\uB85C"),onClick:C,useBorder:!1,iconSize:"large",iconColor:"--color-black",variant:"transparent-gray"}):null,r.jsx("div",{children:n?r.jsx(Rf,{icon:n,label:e,tooltip:l,wrapperStyle:E}):null}),r.jsxs("div",{className:"pp-title__text",children:[B?r.jsx("span",{className:"pp-title__depth caption-1",children:B}):null,r.jsx("span",{className:`pp-title__title h2${A?"":" pp-title__title--empty"}`,children:_}),a?r.jsx("span",{className:"pp-title__description caption-1",children:a}):null]})]}),r.jsx(Gd,{max:Math.max(0,b??0),index:Math.max(0,g??0)})]})}function Xv(){typeof window<"u"&&window.dispatchEvent(new CustomEvent("speechear.popup.close"))}function Zv(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 Jv=(e,t)=>{if(!t)return t;const a=typeof wt?.t=="function"?wt.t(e,{defaultValue:t}):void 0;return typeof a=="string"&&a?a:t};function kp(e,t,a){const o=e,n=o?.title||o?.name||(Array.isArray(t)?t[t.length-1]:void 0)||a||"\uD6C8\uB828",i=_i().find(c=>c.key===(o?.category_0||o?.category_main_code)),l=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?Jv(`topic.${i.key}`,i.label):void 0,l?Jv(`topic.sub.${l.key}`,l.label):void 0].filter(Boolean).join(" / ")||void 0}}function As(e){return e&&typeof e=="object"&&typeof e.__ts=="number"?e.__ts:0}function Bp(e,t,a){if(!e||typeof e!="object"||Array.isArray(e))return e;const o=e,n=typeof a=="number"&&a>0?a:Date.now();return{...o,...o.shownAt===void 0&&t?{shownAt:t}:{},...o.answeredAt===void 0?{answeredAt:new Date(n).toISOString()}:{}}}function Qv(e){const t=e;return Array.isArray(t?.items)?t.items:Array.isArray(e)?e:e?[e]:[]}function e1({idPrefix:e,trainingData:t,depth:a,fallbackTitle:o="\uD6C8\uB828",pages:n=[],emptyMessage:i,buildResults:l,metaPatch:c}){const u=kp(t,a,o),d=typeof c=="function"?c(u)||{}:c||{},h=t?.id||t?.title||n.length;return{id:`${e}:${h}`,meta:{...u,...d},pages:n,emptyMessage:i,buildResults:l}}function t1(e){if(typeof e=="string")return e;if(e&&typeof e=="object"){const t=e;return t.context||t.sentence||t.question||""||""}return""}function a1(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 o1(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 Ap(e,t){if(!(!e||typeof e!="object"))return e[`step-${t}`]}function r1(e,t,a,o){return Ap(e,t*a+o)}function n1({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 i1(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 s1=s.createContext(null);function d6(){const e=s.useContext(s1);if(!e)throw new Error("useTrainingPagePopupContext must be used inside TrainingPagePopup");return e}function p6({index:e,stepIndex:t,isLast:a=!1,lockedHint:o,title:n,choices:i=[],onDone:l,onChange:c}){const{t:u}=we.useTranslation(),d=typeof e=="number"?e:-1,h=typeof t!="number"?"disabled":d<t?"done":d===t?"active":"disabled",[p,m]=s.useState(()=>i.map(()=>null)),v=JSON.stringify(i),x=i.length;s.useEffect(()=>{m(Array.from({length:x},()=>null))},[v]);const g=s.useRef(void 0);s.useEffect(()=>{const w=g.current;typeof w=="number"&&typeof t=="number"&&typeof e=="number"&&w>=e&&t<e&&m(Array.from({length:x},()=>null)),g.current=t},[t,e,x]);const b=s.useMemo(()=>p.filter(w=>w!==null).length+1,[p]),C=s.useCallback(w=>{if(!rr(h))return;const y=p;let A;if(y[w]!=null){const k=y[w];A=y.map(B=>B!==null&&B>=k?null:B)}else A=[...y],A[w]=b;m(A);const _={selectedOrder:A,words:i,__ts:Date.now()};try{typeof c=="function"&&c(_)}catch{}if(y[w]==null&&A.length>0&&A.every(k=>k!==null))try{typeof l=="function"&&l(_)}catch{}},[h,p,b,c,l,i]),f=n??u("training.selectInOrder","\uB4E4\uC740 \uC21C\uC11C\uB300\uB85C \uCE74\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694.");return r.jsx(No,{index:e,stepIndex:t,isLast:a,lockedHint:o,title:f,onDone:l,children:r.jsx("div",{className:"training-step__cards",children:i.map((w,y)=>r.jsx(cs,{item:{word:w},disabled:h==="disabled",selectable:!0,selected:p[y]!==null,orderRank:p[y],onSelect:()=>C(y),flipDelay:y*120,hideLabel:!1,hideAudio:!0},`${w}-${y}`))})})}function qn(e){return null}qn.__isTrainingPage=!0;function Gr(e,t){const a=d6();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 Sp({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l}=Gr(e,t);return r.jsx(ws,{...a,index:o,stepIndex:n,isLast:i,onDone:l})}function Ep({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(ys,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function Dp({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(_s,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function Np({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(ks,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function jp({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(xp,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}function h6({_stepIndex:e,_totalSteps:t,...a}){const{index:o,stepIndex:n,isLast:i,onDone:l,onChange:c}=Gr(e,t);return r.jsx(p6,{...a,index:o,stepIndex:n,isLast:i,onDone:l,onChange:c})}const l1=3e4,m6=/^(https?:|blob:|data:audio|\/|\.\/)/;function c1(e){return typeof e=="string"&&m6.test(e)?e:null}const b6=e=>typeof e=="string"&&e.trim()!==""?e:null,Tp=Symbol("timed-out");function g6(e,t){if(t<=0)return Promise.resolve(Tp);let a;return Promise.race([Promise.resolve(e),new Promise(o=>{a=setTimeout(()=>o(Tp),t)})]).finally(()=>clearTimeout(a))}function f6(e){return e?Ro()||Jr()?!0:typeof window<"u"&&!!window.speechSynthesis:!1}function v6(e,t){const a=[],o=c1(t);o&&a.push({kind:"raw",resolve:async()=>o});const n=(e??"").trim();if(!n)return a;for(const[i,l]of[["urlResolver",Ro()],["fallbackUrlResolver",Jr()]])l&&a.push({kind:i,resolve:async c=>{let u;try{u=await g6(l(n),c)}catch(h){return Pt(`question-sound-threw-${i}`,`[core] configureTTS \uC758 ${i} \uAC00 \uB358\uC84C\uB2E4 \u2014 \uADF8 \uCC28\uB840\uB294 \uAC74\uB108\uB6F4\uB2E4.`,h),null}return u===Tp?(Pt(`question-sound-slow-${i}`,`[core] configureTTS \uC758 ${i} \uAC00 ${l1}ms \uBC14\uD034 \uC548\uC5D0 \uC548 \uD480\uB838\uB2E4 \u2014 \uADF8 \uCC28\uB840\uB97C \uBC84\uB9AC\uACE0 \uB2E4\uC74C\uC73C\uB85C \uAC04\uB2E4. \uC11C\uBC84 \uD569\uC131\uC744 \uAE30\uB2E4\uB9AC\uB294 \uB9AC\uC878\uBC84\uB77C\uBA74 \uC774 \uC790\uB9AC\uAC00 \uAE38\uC5B4\uC9C4\uB2E4. \uC18C\uB9AC\uAC00 \uC544\uC608 \uC548 \uB098\uBA74 \uC5EC\uAE30\uBD80\uD130 \uBCF4\uB77C.`),null):b6(u)||(Pt(`question-sound-empty-${i}`,`[core] configureTTS \uC758 ${i} \uAC00 \uC8FC\uC18C\uB97C \uC548 \uC92C\uB2E4(\uBC1B\uC740 \uAC83: ${JSON.stringify(u)}) \u2014 \uADF8 \uCC28\uB840\uB294 \uAC74\uB108\uB6F4\uB2E4.`),null)}});return a}function x6(){return Date.now()+l1}const C6=(e,t)=>Math.max(0,e-Date.now())/Math.max(1,t);function y6(e){Pt("question-sound-none",`[core] "${e}" \uC758 \uC18C\uB9AC \uC8FC\uC18C\uB97C \uD55C \uC790\uB9AC\uC5D0\uC11C\uB3C4 \uBABB \uC5BB\uC5C8\uB2E4 \u2014 \uBE0C\uB77C\uC6B0\uC800 \uB0AD\uB3C5\uC73C\uB85C \uAC04\uB2E4. configureTTS \uAC00 \uAC78\uB824 \uC788\uB294\uC9C0, \uB9AC\uC878\uBC84\uAC00 \uC8FC\uC18C\uB97C \uC8FC\uB294\uC9C0 \uC704 \uC904\uB4E4\uC744 \uBCF4\uB77C.`)}var _6=`.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:center;display:flex;gap:10px}.ihabdevteam-core-scope .trp-row__replay{flex-shrink:0}.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}
1083
1083
  /* !important \uD544\uC694 \u2014 TrainingResultPopup.tsx\uAC00 Badge\uC5D0 minWidth={80}\uC744 \uC778\uB77C\uC778\uC73C\uB85C
1084
- \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}}`;se(_D);function Ss(...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 wD(e){return Ss(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function kD(e){return c1(Ss(e?.questionSound,e?.soundSrc,e?.audioSrc,e?.sound,e?.audio,e?.src))}function u1(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=Ss(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 Lp(e){const{score:t,contextsLength:a,results:o=[],subtitle:n,onReplay:i,onClose:l,inline:c=!1,pending:u=!1}=e||{},{t:d}=we.useTranslation(),h=s.useId(),p=s.useCallback(()=>!u,[u]);s.useEffect(()=>{const S=a??0;if(t!=null&&S>0&&t/S>.5){const D=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(D)}},[t,a]);const m=s.useCallback(S=>{const D=u1(S),z=Ss(S?.wording,S?.label);return D===!0?{variant:"main",label:z??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:D===!1?{variant:"danger",label:z??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:z??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),v=a??0,x=t??0,g=s.useMemo(()=>Array.isArray(o)?o:[],[o]),b=s.useRef(null),[C,f]=s.useState(null),w=s.useCallback(()=>{b.current?.(),b.current=null,f(null)},[]);s.useEffect(()=>w,[w]);const y=s.useRef(0),A=(S,D)=>{if(!ho)return;const z=Math.round(performance.now()-y.current);console.debug(`[core][\uB2E4\uC2DC\uB4E3\uAE30] +${z}ms ${S}`,D??"")},_=s.useRef(0),k=s.useCallback((S,D,z)=>{w();const T=++_.current,G=()=>_.current===T;y.current=ho?performance.now():0,A(`\uB20C\uB800\uB2E4 \u2014 \uC904 ${S}`,{text:D,rawUrl:z}),f(S),b.current=()=>{A("\uBA48\uCD94\uAC1C\uAC00 \uBD88\uB838\uB2E4(\uC8FC\uC18C \uC5BB\uAE30 \uC804)"),_.current++,Kr()};const N=K=>{A("\uD2BC\uB2E4",K);const M=Zi(K,W=>{A(`\uB05D\uB0AC\uB2E4 \u2014 ${W?"\uB05D\uAE4C\uC9C0 \uB4E4\uC5C8\uB2E4":"\uBABB \uD2C0\uC5C8\uAC70\uB098 \uBA48\uCDC4\uB2E4"}`,{mine:G()}),W&&G()&&(b.current=null,f(null))});return b.current=()=>{A("\uBA48\uCD94\uAC1C\uAC00 \uBD88\uB838\uB2E4(\uD2B8\uB294 \uC911)"),_.current++,M.stop(),Kr()},M.done},j=vD(D,z);A("\uCC28\uB840",j.map(K=>K.kind));const P=j[0]?.kind==="raw",X=P?N(z):Promise.resolve(!1);(async()=>{if(await X||!G())return;const K=xD(),M=P?j.slice(1):j;for(let W=0;W<M.length;W++){if(!G())return;A(`${M[W].kind} \uC5D0\uAC8C \uBB3B\uB294\uB2E4`);const R=await M[W].resolve(CD(K,M.length-W));if(A(`${M[W].kind} \uAC00 \uB2F5\uD588\uB2E4`,R),!G()||R&&(await N(R)||!G()))return}G()&&(A("\uC8FC\uC18C\uB97C \uD558\uB098\uB3C4 \uBABB \uC5BB\uC5C8\uB2E4 \u2014 \uB0AD\uB3C5\uC73C\uB85C \uAC04\uB2E4"),yD(D),b.current=()=>{_.current++,Kr()},A("\uB0AD\uB3C5\uD55C\uB2E4"),Ys(D,{onEnd:()=>{G()&&(b.current=null,f(null))}}))})()},[w]),B=s.useMemo(()=>g.map(S=>{const D=S??{},z=wD(D)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:T,label:G}=m(D),N=Array.isArray(D.corrects)?D.corrects:[],j=N.length?N.join(", "):D.answer!=null&&D.answer!==""?String(D.answer):null,P=typeof D.selectedText=="string"?D.selectedText:null,X=u1(D)===!0,K=kD(D),M=!!K||fD(z);return{problem:z,variant:T,label:G,answer:j,selectedText:P,isCorrect:X,sound:K,canHear:M}}),[g,m,d]),E=s.useMemo(()=>B.some(S=>S.answer!==null||S.selectedText!==null),[B]);return r.jsx(no,{onClose:l,closeOnBackdrop:!1,inline:c,ariaLabel:d("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:S,closeWithAnimation:D})=>r.jsxs(r.Fragment,{children:[u&&r.jsx("p",{id:h,className:"trp-actions__reason caption-1",role:"status",children:d("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(ve,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>S(i)}),r.jsx(ve,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:D,disabled:u,onDisabledClick:u?()=>{}:void 0,"aria-describedby":u?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:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),r.jsx("h1",{className:"trp-result__title h2",children:d("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":d("training.result.scoreAria",{correct:x,total:v}),children:[r.jsx("span",{className:"trp-score__big",children:x}),r.jsx("span",{className:"trp-score__sep",children:"/"}),r.jsx("span",{className:"trp-score__total",children:v})]})})]}),B.length>0&&r.jsx("section",{className:"trp-result__body",children:r.jsxs("div",{className:`result-table${E?" result-table--answer":""}`,role:"table","aria-label":d("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:d("common.col.problem","\uBB38\uC81C")}),E&&r.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),r.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),B.map((S,D)=>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(D+1).padStart(2,"0")}),r.jsx("div",{className:"trp-row__q body-2",children:S.problem}),S.canHear&&r.jsx(ve,{htmlType:"button",size:32,type:"dot",useBorder:!1,icon:C===D?"square":"volume-2",className:"trp-row__replay",ariaLabel:C===D?d("training.result.replaySoundStop",{no:D+1,defaultValue:"{{no}}\uBC88 \uB4E3\uAE30 \uBA48\uCDA4"}):d("training.result.replaySound",{no:D+1,defaultValue:"{{no}}\uBC88 \uB2E4\uC2DC \uB4E3\uAE30"}),onClick:()=>C===D?w():k(D,S.problem,S.sound)})]}),E&&r.jsxs("div",{className:"trp-row__answers",children:[S.answer!==null&&r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),r.jsx("span",{className:"trp-row__answer-value body-2",children:S.answer})]}),r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${S.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),r.jsx("span",{className:`trp-row__answer-value body-2 ${S.isCorrect?"is-correct":"is-wrong"}`,children:S.selectedText??"\u2014"})]})]}),r.jsx("div",{className:"trp-row__judge",children:r.jsx(Lt,{variant:S.variant,label:S.label,fill:"soft",minWidth:80})})]},D))]})})]})})}const Mp=new Set;function BD(e){s.useEffect(()=>{if(!e||Mp.has(e))return;Mp.add(e);const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,o=null,n=0,i=0;const l=()=>{const h=Date.now();a==null&&(a=h),o==null&&(o=h)},c=()=>{o!=null&&(n+=Date.now()-o,o=null)};t()&&l();const u=()=>{if(c(),a==null)return;const h=n-i;if(h<1e3||i===0&&n<5e3)return;const p=Date.now(),m=p-h;i=n,cc({trainingType:e,startedAt:new Date(m).toISOString(),endedAt:new Date(p).toISOString()})},d=()=>{t()?l():u()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",u),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",u),u(),Mp.delete(e)}},[e])}function Es(e,t){return e&&e.id||`page-${t??0}`}function Ds(e,t){return e&&e.key||`step-${t??0}`}function Ns(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function AD(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const SD=300,ED=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},io=Object.freeze({}),d1=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function $p(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 DD=e=>r.jsx(Lp,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function ND(e){const{scenario:t,title:a,subTitle:o,depth:n,icon:i,wrapperStyle:l,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:h,stepCount:p,onBack:m,onComplete:v,onRoundFinished:x,onNext:g,onSettings:b,useNoiseSetting:C=!0,children:f,ariaLabel:w,label:y,buildResults:A,onResult:_,typeKey:k,entryPoint:B,dailyTotal:E,itemRef:S,renderResultPopup:D,noiseOverride:z,hideNoiseRows:T=!1}=e;BD(k&&!d1.has(k)?k:"");const G=s.useRef(0);s.useEffect(()=>{G.current=Date.now()},[]);const{t:N}=we.useTranslation(),j=_,P=!!t,X=t?.id||null,K=t?.meta||{},M=Array.isArray(t?.pages)?t.pages:[],W=Array.isArray(f)||s.isValidElement(f)&&typeof f!="function"?s.Children.toArray(f).filter(s.isValidElement):[],R=W.length>0,U=de=>de===qn||de?.__isTrainingPage===!0,F=R&&W.some(de=>U(de.type)),q=F?W.filter(de=>U(de.type)).map((de,Ne)=>{const $e=de.props||{};return{id:`children-page-${Ne}`,steps:s.Children.toArray($e.children).filter(s.isValidElement),pageTop:$e.pageTop||$e.top||null,pageBottom:$e.pageBottom||$e.bottom||null}}):[{id:"children-page-0",steps:W}],L=R&&!P&&typeof f!="function",I=L?Math.max(1,q.length):0;s.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")}},[]),s.useEffect(()=>{if(typeof document>"u"||!document.body)return;const de=document.body;return de.dataset.ihabTrainingPopupCount=String(Number(de.dataset.ihabTrainingPopupCount||"0")+1),de.classList.add("ihab-training-popup-open"),()=>{const Ne=Number(de.dataset.ihabTrainingPopupCount||"1")-1;Ne>0?de.dataset.ihabTrainingPopupCount=String(Ne):(delete de.dataset.ihabTrainingPopupCount,de.classList.remove("ihab-training-popup-open"))}},[]),s.useEffect(()=>{if(!(typeof document>"u"||!document.body))return lA()},[]);const[O,Q]=s.useState({...Do,enabled:!1}),ce=s.useRef(O);s.useEffect(()=>{ce.current=O},[O]);const ne=s.useRef(z),be=s.useRef(!1),J=s.useRef(null);s.useEffect(()=>{let de=!1;const Ne=$e=>{if(de)return;be.current=!0;const Ke=$e?Eo({...Do,enabled:!1},$e):{...Do},Ge=J.current;J.current=null;const ee=Ge?Eo(Ke,Ge):Ke;ce.current=ee,Q(ee),Ge&&!ne.current&&gn(ee),wr(ee);const pe=ne.current;if(pe){const oe=typeof pe=="function"?pe(ee):pe,_e=Eo(ee,oe);ce.current=_e,Q(_e),wr(_e)}};return gc().then($e=>{if(de){const Ke=J.current;if(J.current=null,Ke&&!ne.current){const Ge=$e?Eo({...Do,enabled:!1},$e):{...Do};gn(Eo(Ge,Ke))}return}Ne($e)}),()=>{de=!0}},[]);const[H,le]=s.useState(null),[Y,Z]=s.useState(null),he=s.useCallback((de,Ne)=>{de==="main"?le(Ne):Z(Ne)},[]),je=s.useRef(null),ye=s.useRef(null),me=s.useCallback(()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null);const de=je.current;je.current=null,de&&gn(de)},[]);s.useEffect(()=>{if(typeof window>"u")return;const de=()=>{document.visibilityState==="hidden"&&me()};return window.addEventListener("pagehide",me),document.addEventListener("visibilitychange",de),()=>{window.removeEventListener("pagehide",me),document.removeEventListener("visibilitychange",de),me()}},[me]);const ue=s.useCallback(de=>{const Ne=Eo(ce.current,de);if(ce.current=Ne,Q(Ne),!be.current){J.current={...J.current??{},...de},wr(Ne);return}ne.current||(je.current=Ne,ye.current!==null&&clearTimeout(ye.current),ye.current=setTimeout(me,SD)),wr(Ne)},[me]),xe=O.mainSpeed,V=O.mainVolume,ae=s.useCallback(de=>ue({mainSpeed:de}),[ue]),ge=s.useCallback(de=>ue({mainVolume:de}),[ue]),ke=s.useMemo(()=>({settings:O,setSettings:ue,registerAnalyser:he,mainAnalyser:H,noiseAnalyser:Y,playbackRate:xe,setPlaybackRate:ae,mainVolume:V,setMainVolume:ge}),[O,ue,he,H,Y,xe,ae,V,ge]),Ae=s.useRef(null),[ze,Fe]=s.useState(0),ut=s.useRef([]),[it,et]=s.useState("center"),[gt,Ee]=s.useState(!1),Ve=s.useRef(!1),Be=s.useRef(null),Ue=s.useCallback(de=>{Ve.current||(Ve.current=!0,Ee(!0),Be.current=setTimeout(()=>{try{de()}catch{Ve.current=!1,Ee(!1)}},ED()?0:aD))},[]);s.useEffect(()=>()=>{Be.current&&clearTimeout(Be.current)},[]);const De=s.useRef(m);s.useEffect(()=>{De.current=m});const Pe=s.useRef(typeof document>"u"?null:document.activeElement);s.useEffect(()=>{const de=Ae.current,Ne=Pe.current;if(Uc(de,Ne),de){const $e=Array.from(de.querySelectorAll(Ga)).filter(Ke=>!Ke.closest('[aria-hidden="true"]'))[0];if($e)try{$e.focus()}catch{}}return()=>{const $e=document.activeElement;if(!$e||$e===document.body||de&&de.contains($e))try{qc(Ne)?.focus?.()}catch{}}},[]),s.useEffect(()=>Uo(()=>Ue(()=>{const de=De.current;typeof de=="function"&&de()})),[Ue]),Hc(Ae,!0);const[Me,Qe]=s.useState(!1),yt=s.useRef(!1),[nt,tt]=s.useState(null),Et=s.useRef(0),vt=s.useRef(0),Dt=()=>{Et.current+=1,vt.current+=1,tt(null)},[At,_t]=s.useState(""),[Xe,ie]=s.useState(()=>Ns()),Te=s.useRef(typeof u=="number"?u:null);s.useEffect(()=>{!P&&!L||(ie(Ns()),Dt())},[P,X,L]),s.useEffect(()=>{L&&ie(de=>{const Ne=Math.max(0,Math.min(de.pageIndex,Math.max(0,I-1)));return Ne!==de.pageIndex?{...de,pageIndex:Ne,stepIndex:0}:de})},[L,I]);const at=L?Math.max(0,Math.min(Xe.pageIndex,I-1)):0,qe=L?q[at]:null,lt=L&&qe&&Array.isArray(qe.steps)?qe.steps:[],Re=P?Xe.pageIndex:L?at:typeof u=="number"?u:0,ht=P?M[Math.max(0,Math.min(Xe.pageIndex,Math.max(0,M.length-1)))]:null,Ie=P&&ht&&Array.isArray(ht.steps)?ht.steps:[],ct=P?Ie.length:L?lt.length:typeof p=="number"?p:0,xt=P||L?Math.max(0,Math.min(Xe.stepIndex,Math.max(0,ct))):typeof h=="number"?h:0,Nt=P?M.length:L?I:typeof d=="number"?d:0;s.useEffect(()=>{if(!P&&!L)return;const de=P?Es(ht,Re):qe?.id||`children-page-${Re??0}`,Ne=new Date().toISOString();for(let $e=0;$e<=xt;$e+=1){const Ke=P?Ds(Ie[$e],$e):`step-${$e}`,Ge=ft(de,Ke);pt.current.has(Ge)||pt.current.set(Ge,Ne)}},[P,L,Re,xt,qe?.id]),s.useLayoutEffect(()=>{const de=Te.current;if(typeof Re=="number"&&de!==null&&Re!==de&&Re>de)try{_t(N("training.problemNotice",{n:Re+1}))}catch{}Te.current=typeof Re=="number"?Re:Te.current},[Re,u,N]),s.useLayoutEffect(()=>{const de=Ae.current;if(!de)return;const Ne=()=>de.querySelector(".page-popup__scroll");let $e=null,Ke=null,Ge=null;const ee=He=>{const rt=Ne();if(!rt)return;const Ct=rt.scrollHeight<=rt.clientHeight;if(et(Ct?"center":"top"),He&&!yt.current){yt.current=!0;try{Qe(!0)}catch{}try{_e.disconnect()}catch{}}},pe=()=>{$e!==null&&cancelAnimationFrame($e),$e=requestAnimationFrame(()=>{Ke!==null&&clearTimeout(Ke),Ke=setTimeout(()=>ee(!0),60)})},oe=()=>{Ge!==null&&cancelAnimationFrame(Ge),Ge=requestAnimationFrame(()=>ee(!1))};pe(),window.addEventListener("resize",oe);const _e=new MutationObserver(pe);_e.observe(de,{childList:!0,subtree:!0,attributes:!0});const Oe=setTimeout(()=>{yt.current||ee(!0)},400);return()=>{window.removeEventListener("resize",oe),$e!==null&&cancelAnimationFrame($e),Ke!==null&&clearTimeout(Ke),Ge!==null&&cancelAnimationFrame(Ge),clearTimeout(Oe);try{_e.disconnect()}catch{}}},[Ae]);const Je=s.useCallback(de=>{Ae.current&&(Ae.current._childOnNext=de)},[]),dt=s.useCallback(de=>{Ae.current&&(Ae.current._childOnResult=de)},[]),pt=s.useRef(new Map),ft=(de,Ne)=>`${de}\0${Ne}`,jt=s.useCallback((de,Ne,$e)=>{ie(Ke=>{const Ge=Ke.answersByPage[de]||{},ee=Ge[Ne],pe=As($e),oe=As(ee);if(ee&&oe>pe)return Ke;const _e=Bp($e,pt.current.get(ft(de,Ne)),pe);return{...Ke,answersByPage:{...Ke.answersByPage,[de]:{...Ge,[Ne]:_e}}}})},[ie]),ta=s.useCallback((de,Ne,$e)=>{const Ke=Es(ht,Re),Ge=Ds(de,Ne);jt(Ke,Ge,$e)},[ht,Re,jt]),pa=s.useCallback((de,Ne,$e)=>{const Ke=Es(ht,Re),Ge=Ds(de,Ne);jt(Ke,Ge,$e),!$e?.allowChange&&de?.autoAdvance!==!1&&ie(ee=>({...ee,stepIndex:Math.max(ee.stepIndex,Ne+1)}))},[ht,Re,jt,ie]),Pa=s.useCallback((de,Ne)=>{const $e=qe?.id||`children-page-${Re??0}`,Ke=typeof Ne=="number"?Ne:xt??0,Ge=`step-${Ke}`;jt($e,Ge,de),de?.allowChange||ie(ee=>({...ee,stepIndex:Math.max(ee.stepIndex,Ke+1)}))},[qe,Re,xt,jt,ie]),lo=s.useCallback((de,Ne)=>{const $e=qe?.id||`children-page-${Re??0}`,Ke=`step-${typeof Ne=="number"?Ne:xt??0}`;jt($e,Ke,de)},[qe,Re,xt,jt]),jo=L?{currentPageIndex:Re??0,currentStepIndex:xt??0,totalStepsInPage:lt.length,handleStepDone:Pa,handleStepChange:lo}:null,To=async()=>{const de=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:M,flowState:Xe,answersByPage:Xe.answersByPage})):null;return typeof j=="function"&&await Promise.resolve(j(de))||de},aa=async()=>{const de=qe?.id||`children-page-${Xe.pageIndex}`,Ne=Xe.answersByPage[de]||{},$e=F?(()=>{const ee={};let pe=0;return q.forEach(oe=>{const _e=Xe.answersByPage[oe.id]||{},Oe=Array.isArray(oe.steps)?oe.steps.length:0;for(let He=0;He<Oe;He+=1){const rt=_e[`step-${He}`];typeof rt<"u"&&(ee[`step-${pe+He}`]=rt)}pe+=Oe}),ee})():Ne;if(typeof A=="function"){const ee=await Promise.resolve(A($e,{pageAnswers:Ne,answersByPage:Xe.answersByPage,pages:q,currentPageId:de}));return typeof j=="function"&&await Promise.resolve(j(ee))||ee}const Ke=Object.entries(Ne).map(([ee,pe],oe)=>({index:oe,key:ee,payload:pe})),Ge={results:Ke,answers:Ke,score:0};return typeof j=="function"&&await Promise.resolve(j(Ge))||Ge},Ba=()=>{const de=++Et.current,Ne=()=>de!==Et.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(P){const Ge=To();tt(io);const ee=Ge;Promise.resolve(ee).then(pe=>{Ne()||tt(pe||{isEmpty:!0})}).catch(pe=>{!Ne()&&tt({isEmpty:!0})});return}if(L){const Ge=aa();tt(io);const ee=Ge;Promise.resolve(ee).then(pe=>{Ne()||tt(pe||{isEmpty:!0})}).catch(pe=>{!Ne()&&tt({isEmpty:!0})});return}const $e=Ae.current&&Ae.current._childOnResult,Ke=Ge=>{try{return Ge?Ge():void 0}catch{return}};if(typeof $e=="function"){const Ge=Ke($e);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ge&&typeof Ge.then!="function"?tt(Ge):tt(Ge&&typeof Ge.then=="function"?io:{});const ee=()=>{Ne()||tt(pe=>pe===io?{}:pe)};Promise.resolve(Ge).then(pe=>{pe&&!Ne()?tt(pe):ee()}).catch(pe=>{ee()});return}if(typeof j=="function"){const Ge=Ke(j);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ge&&typeof Ge.then!="function"?tt(Ge):tt(Ge&&typeof Ge.then=="function"?io:{});const ee=()=>{Ne()||tt(pe=>pe===io?{}:pe)};Promise.resolve(Ge).then(pe=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}pe&&!Ne()?tt(pe):ee()}).catch(pe=>{console.error("viewResults external handler failed",pe),ee()});return}},oa=()=>{if(P){if(typeof Re=="number"&&typeof Nt=="number"&&Re<Nt-1){ie(Ne=>({...Ne,pageIndex:Ne.pageIndex+1,stepIndex:0}));return}return Ba()}if(L){const Ne=lt.length;if(typeof xt=="number"&&xt<Ne-1){ie($e=>({...$e,stepIndex:$e.stepIndex+1}));return}if(typeof Re=="number"&&typeof Nt=="number"&&Re<Nt-1){ie($e=>({...$e,pageIndex:$e.pageIndex+1,stepIndex:0}));return}return Ba()}if(typeof g=="function"){try{g()}catch{}return}const de=Ae.current&&Ae.current._childOnNext;if(typeof de=="function"){try{de()}catch{}return}},Gt=P?K.title||K.label||w||N("common.popup","\uD31D\uC5C5"):a||y||(Array.isArray(n)?n[n.length-1]:void 0)||w||N("common.popup","\uD31D\uC5C5"),co=w||Gt,ya=P?K.title??K.label??Gt:a??y??Gt,uo=(de,Ne)=>{const $e=Es(ht,Re),Ke=Ds(de,Ne),Ge=Xe.answersByPage[$e]?.[Ke],ee=AD(de,{page:ht,pageIndex:Re,step:de,stepIndex:Ne,storedPayload:Ge,answersByPage:Xe.answersByPage,flowState:Xe}),pe={key:Ke,index:Ne,stepIndex:xt,isLast:Ne===Ie.length-1};switch(de?.type){case"listen":return r.jsx(ws,{...pe,...ee,onDone:oe=>pa(de,Ne,oe)});case"confirm":return r.jsx(ys,{...pe,...ee,onDone:oe=>pa(de,Ne,oe),onChange:oe=>ta(de,Ne,oe)});case"confirmWithText":return r.jsx(_s,{...pe,...ee,onDone:oe=>pa(de,Ne,oe),onChange:oe=>ta(de,Ne,oe)});case"orderList":return r.jsx(ks,{...pe,...ee,onDone:oe=>pa(de,Ne,oe),onChange:oe=>ta(de,Ne,oe)});default:return null}},po=s.useRef(void 0);s.useEffect(()=>{const de=po.current;if(po.current=Re,de===void 0||de===Re||!ss())return;const Ne=Ae.current;if(!Ne)return;const $e=document.activeElement;if(!(!$e||$e===document.body||!Ne.contains($e)||$e.disabled===!0))return;const Ke=Ne.querySelector(`.training-steps ${Ga.split(", ").join(", .training-steps ")}`)??Array.from(Ne.querySelectorAll(Ga)).find(Ge=>!Ge.closest('[aria-hidden="true"]'));try{Ke?.focus()}catch{}},[Re]);const Za=P?M.length>0?r.jsx("div",{className:"training-steps",children:Ie.map((de,Ne)=>uo(de,Ne))},`replay-${ze}`):r.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:r.jsx("div",{className:"pp-empty",children:t?.emptyMessage||N("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,ra=L?r.jsxs(s1.Provider,{value:jo,children:[qe?.pageTop?r.jsx("div",{className:"training-page-top",children:qe.pageTop}):null,r.jsx("div",{className:"training-steps",children:lt.map((de,Ne)=>{const $e=de;return s.cloneElement($e,{...$e.props,_stepIndex:Ne,_totalSteps:lt.length,_stepKey:`step-${Ne}`,_pageIndex:Re})})},`replay-${ze}`),qe?.pageBottom?r.jsx("div",{className:"training-page-bottom",children:qe.pageBottom}):null]}):null,Jt=s.useRef(-1),Ht=s.useCallback(()=>{if(!k)return;const de=nt,{results:Ne,correct:$e,total:Ke}=$p(nt),Ge={correct:$e,total:Ke,attempt:ut.current.length+1,previousAttempts:[...ut.current]};if(Jt.current===vt.current)return Ge;Jt.current=vt.current,uc({items:bc(Ne),category:d1.has(k)?"sentence":"word",trainingType:k,entryPoint:B??"sentence",itemRef:S??null,correct:$e,total:Ke,score:typeof de?.score=="number"?de.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-G.current)/1e3)),dailyTotal:E??null});try{x?.(Ge)}catch{}return Ge},[k,B,E,S,nt,x]);s.useEffect(()=>{!nt||nt===io||nt?.isEmpty||($p(nt).total??0)>0&&Ht()},[nt,Ht]);const Aa=s.useCallback(()=>{const de=Ht();Dt(),Ue(()=>{typeof v=="function"&&v(de),typeof m=="function"&&m()})},[v,m,Ht,tt,Ue]),Qt=s.useCallback(()=>_t(""),[_t]),ha=s.useCallback(()=>{Ue(()=>{typeof m=="function"&&m()})},[m,Ue]),Ft=r.jsxs("div",{className:`page-popup${gt?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":co,children:[r.jsxs("div",{ref:Ae,className:`page-popup__panel ${Me?"":"page-popup__panel--measuring"} ${it==="center"?"page-popup__panel--center":it==="top"?"page-popup__panel--top":""}`,children:[r.jsx(wp,{title:ya,subtitle:P?K.subtitle||K.label:Array.isArray(n)?n.join(" / "):void 0,desc:P?void 0:o,depth:P?K.depth:n,icon:P?K.icon:i,wrapperStyle:P?K.wrapperStyle:l,iconTooltip:P?K.iconTooltip:c,progressMax:Nt,progressIndex:Re,pageIndex:Re,pageCount:Nt,onBack:ha,onClose:ha}),r.jsx("div",{className:"page-popup__scroll",children:r.jsx("div",{className:`page-popup__content ${it==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:L?ra:P?Za:typeof f=="function"?f({registerOnNext:Je,registerOnResult:dt,panelRef:Ae,setResultOverlay:tt}):f})}),r.jsx(_p,{onSettings:b,onNext:oa,onResult:Ba,useNoiseSettingBtn:!!(P?K.useNoiseSetting??!0:C),stepIndex:xt,stepCount:ct,pageIndex:Re,pageCount:Nt,resultOpen:!!(nt&&!nt.isEmpty),hideNoiseRows:T})]}),nt&&!nt.isEmpty&&(D??DD)({score:nt.score,results:nt.results||nt.answers||[],contextsLength:nt.results?nt.results.length:nt.answers?nt.answers.length:0,onReplay:()=>{if(G.current=Date.now(),nt!==io){const{correct:de,total:Ne}=$p(nt);ut.current.push({correct:de,total:Ne})}if(Dt(),Fe(de=>de+1),P){if(ie(Ns()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(L){ie(Ns());return}try{const de=Ae.current&&Ae.current._childOnResult;typeof de=="function"&&de({replay:!0})}catch{}},onClose:Aa,pending:nt===io}),nt?.isEmpty&&r.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":N("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${e.contentFull?" page-popup__content--full":""}`,children:r.jsx("div",{className:"page-popup__empty",children:N("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),r.jsx("div",{className:"page-popup__bottom",children:r.jsx(ve,{htmlType:"button",variant:"main",size:48,onClick:Aa,label:N("training.result.done","\uC644\uB8CC")})})]})}),r.jsx(Qo,{message:At,position:"top",onClose:Qt})]}),na=r.jsx(vs.Provider,{value:ke,children:Ft});return typeof document<"u"&&document.body?ma.createPortal(na,document.body):na}const so=ND;so.Page=qn,so.ListenStep=Sp,so.ConfirmStep=Ep,so.ConfirmWithTextStep=Dp,so.OrderListStep=Np,so.CardStep=jp,so.CardOrderStep=hD;var jD=".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);display:flex;flex-direction:column;gap:var(--spacing-m);padding:var(--spacing-l)}.ihabdevteam-core-scope .word-search-result-block__head{align-items:center;-moz-column-gap:var(--spacing-xs);column-gap:var(--spacing-xs);display:flex;flex-wrap:wrap;row-gap:0}.ihabdevteam-core-scope .word-search-result-block__head-main{align-items:center;display:flex;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .word-search-result-block__head-icon{color:var(--color-gray);flex-shrink:0}.ihabdevteam-core-scope .word-search-result-block__title{min-width:0;text-align:left}.ihabdevteam-core-scope .word-search-result-block__head-actions{align-items:center;display:flex;gap:var(--spacing-xs);margin-left:auto}.ihabdevteam-core-scope .word-search-result-block__head-disc{color:var(--color-gray);flex:0 0 100%;margin:0;min-width:0}.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-label{color:var(--color-gray)}.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}";se(jD);var TD='.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}';se(TD);function LD({label:e,homonum:t}){const a=go()?.(e,t)??"",{imgRef:o,loading:n,hasImage:i,onLoad:l,onError:c}=qd(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:l,onError:c})]}):r.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:r.jsx("span",{children:e})})}function Rp({words:e,anchorRect:t}){const a=s.useRef(null),[o,n]=s.useState(null);return s.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),n({left:u,top:d})},[t]),!t||e.length===0?null:ma.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(LD,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function p1({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:o,items:n,groups:i,selected:l=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:h,onPrintEmpty:p,className:m,emptyHint:v,sectionType:x="page",disc:g}){const{t:b,i18n:C}=we.useTranslation(),f=C.language?.startsWith("ko")??!1,{anchorRect:w,openAt:y,close:A}=Xo(),[_,k]=s.useState(null),B=s.useCallback(()=>{A(),k(null)},[A]);Qu(B,!!_);const E=(o??"").trim(),S=/^[^,[\]\s]+$/.test(E)?E:"",D=S.length>0,z=o===void 0&&t===void 0,T=D?"match":z?"original":"ganada",[G,N]=s.useState(()=>T),[j,P]=s.useState("50"),[X,K]=s.useState(1),[M,W]=s.useState(D);M!==D&&(W(D),N(T));const R=G==="match"&&!D||G==="original"&&!z?T:G,U=s.useMemo(()=>[...D?[{value:"match",label:b("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...z?[{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,D,z]),F=s.useMemo(()=>["10","25","50","100"].map(ue=>({value:ue,label:b("wordSearch.pageSize",{count:Number(ue),defaultValue:`${ue}\uAC1C\uC529 \uBCF4\uAE30`})})),[b]),q=ue=>ue.words?.[0],L=s.useMemo(()=>{const ue=[...S].length,xe=fl(S),V=new Map;return ae=>{let ge=V.get(ae);return ge===void 0&&(ge=xe((ae.words?.[0]?.label??"").slice(0,ue))?0:1,V.set(ae,ge)),ge}},[S]),I=s.useCallback((ue,xe)=>{const V=ke=>q(ke)?.label??"",ae=ke=>q(ke)?.syllables??[...V(ke)].length,ge=ke=>(ke.words??[]).reduce((Ae,ze)=>{const Fe=parseInt(ze.grade??"",10);return Number.isFinite(Fe)&&Fe<Ae?Fe:Ae},999);switch(R){case"match":return L(ue)-L(xe)||va(V(ue),V(xe));case"ganada":return va(V(ue),V(xe));case"ganada_desc":return va(V(xe),V(ue));case"syllable":return ae(ue)-ae(xe)||va(V(ue),V(xe));case"syllable_desc":return ae(xe)-ae(ue)||va(V(ue),V(xe));case"grade":return ge(ue)-ge(xe)||va(V(ue),V(xe));case"grade_desc":return ge(xe)-ge(ue)||va(V(ue),V(xe));default:return 0}},[R,L]),O=s.useMemo(()=>n.slice().sort(I),[n,I]),Q=Number(j)||10,ce=s.useMemo(()=>(i??[]).flatMap(ue=>ue.items.slice().sort(I).map(xe=>({item:xe,label:ue.label}))),[i,I]),ne=i?ce.length:O.length,be=Math.max(1,Math.ceil(ne/Q)),J=Math.min(X,be),H=s.useMemo(()=>O.slice((J-1)*Q,J*Q),[O,J,Q]),le=s.useId(),Y=s.useMemo(()=>{if(!i)return null;const ue=ce.slice((J-1)*Q,J*Q),xe=new Map;for(const{item:V,label:ae}of ue)xe.has(ae)||xe.set(ae,[]),xe.get(ae).push(V);return[...xe.entries()].map(([V,ae])=>({label:V,items:ae}))},[i,ce,J,Q]);s.useEffect(()=>{K(1)},[G,j,ne,o]);const Z=ne>0?r.jsxs("div",{className:"word-search-result-block__toolbar",children:[r.jsx(xa,{size:40,options:U,value:R,onChange:N,ariaLabel:b("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),r.jsx(xa,{size:40,options:F,value:j,onChange:P,ariaLabel:b("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),r.jsx(Pn,{page:J,totalPages:be,onChange:K})]}):void 0,he=ue=>{c&&c(ue)},je=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:f?Fl(a):a})]}):void 0,ye=t!==void 0&&t>0&&u!==void 0&&a?b("wordSearch.resultDisc",{unit:f?Gl(a):a,max:u,selected:l.length}):void 0,me=g??ye;return r.jsxs(er,{type:x,className:Se("word-search-result-block",m),children:[r.jsxs("div",{className:"word-search-result-block__inner",children:[(je||Z||me)&&r.jsxs("div",{className:"word-search-result-block__head",children:[r.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&r.jsx(ot,{icon:e,className:"word-search-result-block__head-icon"}),je&&r.jsx("span",{className:"word-search-result-block__title h3",children:je})]}),Z&&r.jsx("div",{className:"word-search-result-block__head-actions",children:Z}),me&&r.jsx("div",{className:"word-search-result-block__head-disc body-3",children:me})]}),(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.")}),v&&r.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:v})]}),i?(Y??[]).map(ue=>r.jsxs("div",{className:"word-search-result-block__group",role:"group","aria-labelledby":`${le}-${ue.label}`,children:[r.jsx("div",{className:"word-search-result-block__group-label caption-1b",id:`${le}-${ue.label}`,children:ue.label}),r.jsx("div",{className:"word-search-result-block__items",children:ue.items.map(xe=>{const V=l.includes(xe.id);return r.jsx("div",{onMouseEnter:ae=>{y(ae.currentTarget),k(xe.words??[])},onMouseLeave:B,children:r.jsx(ve,{htmlType:"button",size:"word",align:"grid",label:(xe.words??[]).map(ae=>ae.label),subLabel:(xe.words??[]).some(ae=>ae.subLabel)?(xe.words??[]).map(ae=>ae.subLabel):void 0,selected:V,onClick:()=>he(xe.id),minWidth:200})},xe.id)})})]},ue.label)):r.jsx("div",{className:"word-search-result-block__items",children:H.map(ue=>{const xe=l.includes(ue.id);return r.jsx("div",{onMouseEnter:V=>{y(V.currentTarget),k(ue.words??[])},onMouseLeave:B,children:r.jsx(ve,{htmlType:"button",size:"word",align:"grid",label:(ue.words??[]).map(V=>V.label),subLabel:(ue.words??[]).some(V=>V.subLabel)?(ue.words??[]).map(V=>V.subLabel):void 0,selected:xe,onClick:()=>he(ue.id),minWidth:200})},ue.id)})}),_&&w&&r.jsx(Rp,{words:_,anchorRect:w})]}),be>1&&r.jsx("div",{className:"word-search-result-block__pagination-bottom",children:r.jsx(Pn,{page:J,totalPages:be,onChange:K})}),(d||h)&&r.jsxs("div",{className:"word-search-result-block__actions",children:[d&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:b("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),h&&r.jsx("div",{onClick:l.length===0?p:void 0,children:r.jsx(ve,{htmlType:"button",size:"56",type:"bar",variant:"main",label:b("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:h})})]})]})}var MD='.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-group{flex-shrink:0;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-group>.phoneme-select-block__cell{flex:1 1 auto;min-width:0;width:auto}.ihabdevteam-core-scope .phoneme-select-block__cell{flex-shrink:0;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{height:64px;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{font-size:24px}}';se(MD);function $D(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 h1({sections:e,selectedList:t,count:a,onCountChange:o,maxCount:n=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:h,title:p,titleIcon:m,disc:v,showInfoButton:x=!0,onClearPhoneme:g,onSearch:b,onSearchEmpty:C,searchDisabled:f=!1,searchLabel:w,searchChecking:y=!1,pairMode:A=!1,sectionType:_="page",beforeSearchContent:k,beforeContent:B,afterContent:E,hideCountControl:S=!1,ordinal:D=!1}){const{t:z}=we.useTranslation(),T=s.useMemo(()=>z("wordPairs.infoNotes",{returnObjects:!0}),[z]),G=s.useMemo(()=>Array.from({length:n-i+1},(L,I)=>{const O=i+I;return{key:String(O),label:z("wordPairs.count",{n:O})}}),[z,n,i]),N=s.useMemo(()=>z("wordPairs.ordinals",{returnObjects:!0}),[z]),j=s.useCallback(L=>D?z("wordPairs.phonemeOrdinalLabel",{ordinal:N[L-1]??L}):a===1?z("wordPairs.phonemeSingleLabel","\uC74C\uC808"):z("wordPairs.phonemeN",{n:L}),[D,N,a,z]),P=s.useCallback(L=>D?z("wordPairs.phonemeContrastOrdinalLabel",{ordinal:N[L-1]??L}):a===1?z("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):z("wordPairs.phonemeContrast",{n:L}),[D,N,a,z]),X=s.useCallback((L,I)=>I?r.jsxs(r.Fragment,{children:[L,r.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):L,[]),{anchorRect:K,toggleAt:M,close:W}=Xo(),R=s.useCallback(L=>o(Number(L)),[o]),U=ua("(max-width: 767px)"),F=s.useCallback(L=>$D(L,e).map(({label:I,value:O,displayLabel:Q})=>{const ce=!!O&&O!=="\uC5C6\uC74C";return r.jsxs("span",{className:Se("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",ce?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[r.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||d}),ce&&r.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Q??I})]},I)}),[e,d]),q=r.jsxs(r.Fragment,{children:[r.jsx("div",{"data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:40,type:U?"dot":void 0,icon:"info",label:U?void 0:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:K?"is-selected":void 0,"aria-expanded":!!K,"aria-haspopup":"dialog",onClick:L=>M(L.currentTarget)})}),K&&r.jsx(ko,{title:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:T,anchorRect:K,onClose:W})]});return r.jsxs(er,{type:_,title:p,icon:m,disc:v,action:x?q:void 0,className:Se("phoneme-select-block",h),children:[B,!S&&r.jsx("div",{className:"phoneme-select-block__controls",children:r.jsx(Ra,{options:G,value:String(a),onChange:R,size:40,ariaLabel:z("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),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((L,I)=>{const O=t[I*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:F(O)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:j(I+1)})]},I)})}),r.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:z("wordPairs.phonemeSelect.vs","\uB300")}),r.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,I)=>{const O=t[I*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:F(O)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:P(I+1)})]},I)})})]}):t.map((L,I)=>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:F(L)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:j(I+1)})]},I))}),(l||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((L,I)=>{const O=t[I*2]??{};return r.jsx(Ya,{title:X(j(I+1),I===0),sections:c?c(O,I*2):l,selected:O,onSelect:u?.(I*2),align:"newline"},I)})}),r.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((L,I)=>{const O=t[I*2+1]??{};return r.jsx(Ya,{title:P(I+1),sections:c?c(O,I*2+1):l,selected:O,onSelect:u?.(I*2+1),align:"newline"},I)})})]}):t.map((L,I)=>r.jsx(Ya,{title:X(j(I+1),I===0),sections:c?c(L,I):l,selected:L,onSelect:u?.(I),align:"newline"},I))})}),k&&r.jsx("div",{className:"phoneme-select-block__before-search",children:k}),(g||b||y)&&(()=>{const L=t.every(I=>{const O=D8(I);return Object.entries(O).every(([Q,ce])=>!ce||Q==="coda"&&ce===em)});return r.jsxs("div",{className:"phoneme-select-block__search-row",onClick:L?C:void 0,children:[g&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:z("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:L,onClick:L?void 0:g}),b?r.jsx(ve,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:y?r.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:L||f||y,onDisabledClick:y?()=>{}:void 0,"aria-busy":y||void 0,onClick:b}):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:w??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),E]})}function m1({title:e,sections:t,selected:a,onSelect:o,collapsible:n,defaultCollapsed:i,collapsed:l,onCollapsedChange:c,headerSummary:u,headerAction:d,className:h}){const{t:p}=we.useTranslation();return r.jsx(Ya,{className:h,title:e??p("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:o,collapsible:n,defaultCollapsed:i,collapsed:l,onCollapsedChange:c,headerSummary:u,headerAction:d,align:"inline"})}function b1({title:e,headerAction:t,sections:a,selected:o,onSelect:n,className:i}){const{t:l}=we.useTranslation();return a.length===0?null:r.jsx(Ya,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:o,onSelect:n,align:"newline"})}function g1({title:e,mode:t,onModeChange:a,matchMode:o,onMatchModeChange:n,positionCount:i,onPositionCountChange:l,inputMode:c,onInputModeChange:u,className:d}){const{t:h}=we.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=b=>h("wordPairs.count",{n:b}),v=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:r.jsx(Mr,{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(Mr,{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(Mr,{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.")]})}],x={[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},g=(b,C)=>{C===p.searchMode?a(b===p.explicit?"explicit":b===p.pick?"pick":"include"):C===p.phonemeOrder?n(b===p.orderMatch?"ordered":"unordered"):C===p.count?l(b===m(2)?2:1):C===p.inputMode&&u(b===p.pronInput?"phoneme":"word")};return r.jsx(Ya,{className:d,title:e??h("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:v,selected:x,onSelect:g,align:"inline"})}var RD=".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}";se(RD);function f1(e){const{title:t,items:a,columns:o,resizeStorageKey:n,gridTemplateColumns:i,mobileGridTemplateColumns:l,searchPlaceholder:c,searchFn:u,defaultSortKey:d,defaultSortAsc:h=!0,selectedId:p,selectedIds:m,onSelect:v,onClose:x,pageSizeOptions:g=[10,25,50,100],initialPageSize:b,emptyText:C,noMatchText:f,countLabel:w,topContent:y,className:A=""}=e,{t:_}=we.useTranslation(),k=c??_("common.search","\uAC80\uC0C9"),B=C??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),E=f??_("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[S,D]=s.useState(""),[z,T]=s.useState(d??o[0]?.key??""),[G,N]=s.useState(h),[j,P]=s.useState(String(b??g[0]??10)),[X,K]=s.useState(1);s.useEffect(()=>{K(1)},[S,j]);const M=u!==null,W=s.useCallback((ne,be)=>{if(!be)return!0;const J=be.toLowerCase();return o.some(H=>{const le=ne[H.key];return le==null?!1:String(le).toLowerCase().includes(J)})},[o]),R=u??W,U=s.useMemo(()=>{const ne=M?a.filter(be=>R(be,S)):a;return z?[...ne].sort((be,J)=>{const H=be[z],le=J[z];return H===le?0:Tu(H,le,G)}):ne},[a,S,z,G,M,R]),F=Math.max(1,Math.ceil(U.length/Number(j)));X>F&&K(F);const q=Math.min(X,F),L=U.slice((q-1)*Number(j),q*Number(j)),I=s.useCallback(ne=>{z===ne?N(be=>!be):(T(ne),N(!0)),K(1)},[z]),O=s.useMemo(()=>{if(typeof w=="function"){const ne=U.length,be=w(ne);if(typeof be=="string"){const J=be.lastIndexOf(String(ne));if(J>=0)return{prefix:be.slice(0,J),suffix:be.slice(J+String(ne).length)}}return{label:be}}if(typeof w=="string"&&w.includes("{n}")){const[ne,be]=w.split("{n}");return{prefix:ne,suffix:be}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[w,U.length,_]),Q=s.useMemo(()=>o.map(ne=>({label:ne.label,onClick:ne.sortable!==!1?()=>I(ne.key):void 0,className:ne.className,sortDir:ne.sortable!==!1&&z===ne.key?G?"asc":"desc":null})),[o,z,G,I]),ce=s.useMemo(()=>g.map(ne=>({value:String(ne),label:_("common.pageSizeLabel",{n:ne})})),[g,_]);return r.jsxs(no,{className:`popup-list ${A}`,title:t,onClose:x,children:[y,"label"in O&&r.jsx("p",{className:"toolbar__count body-1",children:O.label}),r.jsx(Qi,{count:"label"in O?void 0:{value:U.length,prefix:O.prefix,suffix:O.suffix},search:M?{value:S,onChange:D,placeholder:k}:void 0,pageSize:{options:ce,value:j,onChange:P},pagination:{page:q,total:F,onChange:K}}),r.jsx(is,{size:"medium",gridTemplateColumns:i,mobileGridTemplateColumns:l,resizable:!0,resizeStorageKey:n,fields:Q,items:L,onRowClick:v,renderRow:ne=>{const be=m!=null?ne.id!=null&&m.has(ne.id):p!=null&&ne.id===p;return o.map(J=>({content:J.render?J.render(ne):ne[J.key]??"",className:Se(J.className,be&&"popup-list__row--selected")}))},empty:M&&S!==""&&a.length>0?E:B})]})}function Pp(e){const{title:t,message:a,topContent:o,details:n,children:i,confirmLabel:l,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:h="main",confirmDisabled:p=!1,onConfirm:m,closeOnConfirm:v=!0,onClose:x,inline:g,size:b="small",className:C,initialFocus:f="close"}=e,{t:w}=we.useTranslation(),y=s.useRef(null);s.useEffect(()=>{if(g||f==="close")return;const S=y.current?.closest(".popup-panel"),D=Array.from(S?.querySelectorAll(".popup-footer--buttons button")??[]),z=f==="confirm"?D[D.length-1]:u?void 0:D[d?1:0];z&&!z.disabled&&z.focus()},[]);const A=s.useRef(!1),[_,k]=s.useState(!1),B=S=>{let D=!1;return{close:()=>{D=!0,S()},didClose:()=>D}},E=async S=>{if(A.current)return;A.current=!0;const D=typeof document<"u"?document.activeElement:null;k(!0);let z=!1;try{z=await S()}catch(T){typeof console<"u"&&console.error(T)}finally{z||(A.current=!1,k(!1),requestAnimationFrame(()=>{const T=document.activeElement;(!T||T===document.body)&&D?.isConnected&&D.focus()}))}};return r.jsxs(no,{title:t,onClose:x,closeDisabled:_,inline:g,size:b,className:Se("confirm-popup",o!=null&&"confirm-popup--has-top",C),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||_,onClick:async({closeWithAnimation:S})=>{await E(async()=>{const D=B(S);await d.onClick(D.close);const z=d.closeOnClick??!0;return z&&S(),z||D.didClose()})}}]:[],...u?[]:[{label:c??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:_,onClick:({closeWithAnimation:S})=>S()}],{label:l??w("common.confirm","\uD655\uC778"),variant:h,disabled:p||_,onClick:async({closeWithAnimation:S})=>{await E(async()=>{const D=B(S);return await m(D.close),v&&S(),v||D.didClose()})}}],children:[o!=null&&r.jsx("div",{className:"confirm-popup__top",children:o}),n&&n.length>0&&r.jsx(Un,{children:n.map((S,D)=>r.jsx(Xa,{label:S.label,children:r.jsx("span",{className:"panel-row__text body-2",children:S.value})},D))}),r.jsx("p",{ref:y,className:"body-2 confirm-popup__message",children:a}),i]})}function v1(e,t,a={}){const{t:o}=we.useTranslation(),[n,i]=s.useState(!1),l=s.useRef(!1),c=s.useCallback(()=>{l.current=!0},[]),u=s.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),d=n?r.jsx(Pp,{title:a.title??o("common.discardConfirm.title","\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?"),message:a.message??o("common.discardConfirm.body","\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4."),confirmLabel:a.confirmLabel??o("common.discardConfirm.confirm","\uC785\uB825 \uCDE8\uC18C"),confirmVariant:"danger",onConfirm:()=>{i(!1),t()},onClose:()=>i(!1)}):null;return{beforeClose:u,discardPopup:d,allowClose:c}}var PD=".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}";se(PD);function x1({onApply:e,onCancel:t}){const{t:a}=we.useTranslation(),[o,n]=s.useState(""),[i,l]=s.useState(!1),[c,u]=s.useState(null),d=s.useRef(null),h=s.useId();s.useEffect(()=>{d.current?.focus()},[]);const p=s.useCallback(async x=>{const g=o.trim();if(g){l(!0),u(null);try{await e(g),x()}catch(b){u(mn(b)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[o,e]),m=s.useCallback((x,g)=>{x.key==="Enter"&&!x.nativeEvent.isComposing&&p(g)},[p]),v=x=>{n(x.target.value),u(null)};return r.jsx(no,{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:x})=>x()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!o.trim()||i,onClick:({closeWithAnimation:x})=>{p(x)}}],children:({closeWithAnimation:x})=>r.jsxs(r.Fragment,{children:[r.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),"aria-invalid":c?!0:void 0,"aria-errormessage":c?h:void 0,"aria-describedby":c?h:void 0,placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:o,onChange:v,onKeyDown:g=>m(g,x),disabled:i,autoComplete:"off",spellCheck:!1}),c&&r.jsx("p",{id:h,className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var zD=".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}";se(zD);const C1=["var(--color-main)","var(--color-sub)"],ID=2e3;function OD(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 js({active:e=!1,count:t=40,duration:a=2e3,strength:o=1,onComplete:n,trigger:i=0}){const l=s.useMemo(()=>{const g=Math.floor(t/2),b=t-g,C=(f,w)=>Array.from({length:f}).map((y,A)=>{const _=6+Math.random()*12,k=Math.round(Math.min(18,_*Math.min(1.5,1+o*.4))),B=C1[Math.floor(Math.random()*C1.length)],E=Math.random()*300,S=(360+Math.random()*260)*o*1.2,D=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,z=Math.cos(D)*S,T=Math.sin(D)*S*1.35,G=Math.random()*720-360,N=(1200+Math.random()*3e3)*Math.min(1.6,1+o*.3),j=Math.random()>.7?"50%":"3px";return{id:`${w}-${A}`,side:w,size:k,color:B,delay:E,vx:z,vy:T,angularVel:G,life:N,borderRadius:j}});return[...C(g,"left"),...C(b,"right")]},[t,o]),c=s.useRef(null),u=s.useRef({}),d=s.useRef(null),h=s.useRef(n);s.useEffect(()=>{h.current=n},[n]);const p=s.useRef(null),m=s.useRef(null),v=()=>{if(typeof document>"u")return null;let g=document.querySelector("[data-ihab-effect-root]");return g||(g=document.createElement("div"),g.className="app-effect",g.dataset.ihabEffectRoot="",g.style.position="fixed",g.style.inset="0",g.style.pointerEvents="none",g.style.zIndex="99998",document.body.appendChild(g)),g};if(typeof document<"u"&&m.current==null&&(m.current=v()),s.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const W=setTimeout(()=>h.current?.(),0);return()=>clearTimeout(W)}const g=1200,b=performance.now(),C=m.current&&m.current!==document.body?m.current.getBoundingClientRect():null,f=Math.max(60,(window.innerHeight||800)*.05),w=W=>Math.max(40,(W||window.innerWidth)*.02),y=C?.width||window.innerWidth||375,A=C?.height||window.innerHeight||812,_=W=>{const R=[...W].sort((U,F)=>U-F);return R[Math.floor(R.length/2)]||1},k=_(l.map(W=>Math.abs(W.vy))),B=_(l.map(W=>Math.abs(W.vx))),E=Math.sqrt(2*g*(A*.72+f))/k,S=k*E/g,D=y*.5/(B*S),z=(W,R,U)=>Math.min(U,Math.max(R,W)),T=z(E,.8,2.4),G=z(D,.7,2.2),N=a>0?a/ID:1,j=l.map(W=>({...W,life:W.life*N,vx:W.vx*G,vy:W.vy*T,startTime:b+W.delay,ended:!1})),P=C?{x:C.left-w(C.width),y:C.top+C.height+f}:{x:-w(window.innerWidth),y:window.innerHeight+f},X=C?{x:C.left+C.width+w(C.width),y:C.top+C.height+f}:{x:window.innerWidth+w(window.innerWidth),y:window.innerHeight+f},K=W=>{let R=!1;for(const U of j){const F=u.current[U.id];if(!F||!F)continue;if(W<U.startTime){F.style.display="none",R=!0;continue}if(!U._inited){const H=U.side==="left"?P.x:X.x,le=U.side==="left"?P.y:X.y;F.style.left=`${H}px`,F.style.top=`${le}px`,F.style.transform="translate3d(0px, 0px, 0)",F.style.display="block",F.style.zIndex="100000",typeof U.color=="string"&&U.color.startsWith("var(")&&(F.style.background=OD(F,U.color)??"#FF0060"),U._inited=!0}const q=(W-U.startTime)/1e3;if(q<0)continue;const L=U.life/1e3;if(q>=L){F.style.opacity="0",F.style.display="none",U.ended=!0;continue}R=!0;const I=U.side==="left"?P.x:X.x,O=U.side==="left"?P.y:X.y,Q=I+U.vx*q,ce=O+U.vy*q+.5*g*q*q,ne=(U.angularVel||0)*q,be=Q-I,J=ce-O;F.style.transform=`translate3d(${be}px, ${J}px, 0) rotate(${ne}deg)`,F.style.opacity=`${Math.max(0,1-q/L)}`}R?d.current=requestAnimationFrame(K):h.current?.()};d.current=requestAnimationFrame(K);const M=setTimeout(()=>{try{if((m.current?m.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const W=document.createElement("div");W.className="party-container",W.style.position="fixed",W.style.inset="0",W.style.pointerEvents="none",W.style.overflow="visible",W.style.zIndex="2147483647";for(const R of l){const U=document.createElement("span");U.className=`confetti confetti--${R.side}`,U.setAttribute("aria-hidden","true"),U.style.display="none",U.style.position="fixed",U.style.left="0px",U.style.top="0px",U.style.width=`${R.size}px`,U.style.height=`${Math.max(4,R.size*.6)}px`,U.style.background=R.color,U.style.borderRadius=R.borderRadius,U.style.transform="translate3d(0,0,0)",U.style.opacity="0",W.appendChild(U),u.current[R.id]=U}(document.body||m.current).appendChild(W),p.current=W}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(M),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,i,l]),!e)return null;const x=r.jsx("div",{className:"party-container",ref:c,children:l.map(g=>r.jsx("span",{"aria-hidden":!0,ref:b=>{u.current[g.id]=b},className:`confetti confetti--${g.side}`,style:{width:`${g.size}px`,height:`${Math.max(4,g.size*.6)}px`,background:g.color,borderRadius:g.borderRadius}},`${g.id}-${i}`))});return typeof document<"u"?ma.createPortal(x,m.current||document.body):x}const zp=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function y1({trigger:e=0,active:t=!1}){const[a,o]=s.useState(null);s.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const c=l.detail??{};o(u=>({n:(u?.n??0)+1,count:zp(c.count),strength:zp(c.strength),duration:zp(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const n=s.useCallback(()=>o(null),[]);return r.jsxs(r.Fragment,{children:[r.jsx(js,{active:t,trigger:e}),a&&r.jsx(js,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:n})]})}var FD=".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:center;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%)}";se(FD);function _1({title:e,sub:t,rightAction:a,titleAction:o,badge:n,badgeVariant:i="default",documentTitle:l,onBack:c,backLabel:u,wrap:d=!1}){const{t:h}=we.useTranslation();Du(typeof e=="string"?e:l??null);const p=u??h("common.back","\uB4A4\uB85C");return r.jsxs("div",{className:d?"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(ve,{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(Lt,{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 w1(e){return e??""}const k1=s.createContext({words:[],loading:!1});function B1(){return s.useContext(k1)}function A1({words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u,children:d}){const h=s.useMemo(()=>({words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u}),[e,t,a,o,n,i,l,c,u]);return r.jsx(k1.Provider,{value:h,children:d})}var WD=".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)}";se(WD);function S1({items:e,actions:t,columns:a,flat:o=!1,className:n,style:i}){const l=a??e.length;return r.jsx("section",{className:Se("summary-strip",o&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(l),...i},children:r.jsxs("div",{className:"summary-strip__row",children:[r.jsx("div",{className:"summary-strip__items",children:e.map((c,u)=>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})]},u))}),t&&r.jsx("div",{className:"summary-strip__actions",children:t})]})})}var GD='.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}}';se(GD);const HD=(e,t)=>`${e} / ${t}`;function E1({blocks:e,sectionTitles:t,logo:a,footer:o,pageLabel:n=HD,pageWidth:i,pageHeight:l,margin:c,className:u,style:d}){const{t:h}=we.useTranslation(),p=s.useRef(null),m=s.useRef(null),v=s.useRef(null),x=s.useRef(null),[g,b]=s.useState(null),[C,f]=s.useState(!1);s.useEffect(()=>{const N=p.current;if(!N)return;const j=()=>f(N.scrollWidth>N.clientWidth+1);if(j(),typeof ResizeObserver>"u")return;const P=new ResizeObserver(j);return P.observe(N),()=>P.disconnect()},[g]);const w=e.map(N=>`${N.id}\0${N.section??""}\0${N.group??""}`).join(""),y=g&&g.shape===w?g.pages:null,[A,_]=s.useState(0);s.useEffect(()=>{const N=x.current;if(!N||typeof ResizeObserver>"u")return;const j=new ResizeObserver(()=>_(N.offsetHeight));return j.observe(N),()=>j.disconnect()},[]);const[k,B]=s.useState(0);s.useEffect(()=>{const N=m.current;if(!N||typeof ResizeObserver>"u")return;let j=null;const P=typeof requestAnimationFrame=="function"?M=>requestAnimationFrame(M):M=>setTimeout(M,16),X=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:M=>clearTimeout(M),K=new ResizeObserver(()=>{j==null&&(j=P(()=>{j=null,B(M=>M+1)}))});return Array.from(N.children).forEach(M=>K.observe(M)),()=>{K.disconnect(),j!=null&&X(j)}},[w]),s.useLayoutEffect(()=>{const N=m.current,j=x.current;if(!N||!j)return;const P=L=>L.getBoundingClientRect().height||L.offsetHeight,X=new Map;v.current?.querySelectorAll("[data-chrome-section]").forEach(L=>{X.set(L.dataset.chromeSection??"",P(L))});const K=L=>P(j)-(X.get(L??"")??0),M=Array.from(N.children).map(L=>P(L)),W=[];e.forEach((L,I)=>{const O=W[W.length-1],Q=O?e[O[0]]:void 0;Q&&L.group!=null&&Q.group===L.group&&Q.section===L.section?O.push(I):W.push([I])});const R=[];let U=[],F=0;const q=()=>{U.length&&R.push(U),U=[],F=0};W.forEach(L=>{const I=L.reduce((Q,ce)=>Q+M[ce],0),O=K(e[L[0]].section);U.length&&e[U[0]].section!==e[L[0]].section&&q(),I>O?L.forEach(Q=>{U.length&&F+M[Q]>O+.01&&q(),U.push(Q),F+=M[Q]}):(U.length&&F+I>O+.01&&q(),L.forEach(Q=>U.push(Q)),F+=I)}),q(),b(L=>L&&L.shape===w&&JSON.stringify(L.pages)===JSON.stringify(R)?L:{shape:w,pages:R})},[w,A,i,l,c,k]);const E=Cd,S=E,D=o??r.jsxs(r.Fragment,{children:[r.jsx("img",{src:S,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),z=(N,j,P)=>({header:r.jsxs("div",{className:"report-doc__header",children:[r.jsx("h2",{className:"report-doc__title h3b",children:P!=null&&t?.[P]||null}),a]}),footer:r.jsxs("div",{className:"report-doc__footer caption-1",children:[r.jsx("span",{className:"report-doc__footer-left",children:D}),r.jsx("span",{className:"report-doc__page-no",children:n(N,j)})]})}),T=Array.from(new Set(e.map(N=>N.section??""))),G={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...d};return r.jsxs("div",{ref:p,className:Se("report-doc",u),style:G,tabIndex:C?0:void 0,role:C?"group":void 0,"aria-label":C?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:x,className:"report-doc__ruler"}),r.jsx("div",{ref:v,children:T.map(N=>{const j=z(1,1,N||void 0);return r.jsxs("div",{"data-chrome-section":N,children:[j.header,j.footer]},N)})}),r.jsx("div",{ref:m,className:"report-doc__measure-blocks",children:e.map(N=>r.jsx("div",{children:N.content},N.id))})]}),y&&r.jsx("div",{className:"report-doc__pages",children:y.map((N,j)=>{const{header:P,footer:X}=z(j+1,y.length,e[N[0]].section);return r.jsxs("section",{className:"report-doc__page",children:[P,N.map(K=>r.jsx("div",{children:e[K].content},e[K].id)),X]},j)})})]})}var VD=".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}";se(VD);function D1({title:e,fields:t,columns:a=4,className:o,style:n}){return r.jsxs("div",{className:Se("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,l)=>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})]},l))})]})}const nr=new Map;let Ts=null;const UD=12;function qD(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 Ls(){const e=new Map;for(const t of nr.keys()){if(!t.isConnected)continue;const a=qD(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+UD)}}}function YD(e){return typeof window>"u"?()=>{}:(nr.set(e,(nr.get(e)??0)+1),nr.get(e)===1&&typeof ResizeObserver<"u"&&(Ts??(Ts=new ResizeObserver(()=>Ls())),Ts.observe(e)),Ls(),()=>{const t=(nr.get(e)??1)-1;if(t>0){nr.set(e,t),Ls();return}nr.delete(e),Ts?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),Ls()})}var KD=".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%}";se(KD);function N1({title:e,message:t,actionLabel:a,onAction:o,icon:n,onClose:i,className:l=""}){const{t:c}=we.useTranslation(),u=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),d=s.useRef(null),h=s.useRef(!1);return s.useLayoutEffect(()=>{const p=d.current,m=p?.parentElement?.closest(".update-alert-stack")??p,v=m?YD(m):null;return()=>{v?.(),h.current&&p&&p.contains(document.activeElement)&&Li(p)}},[]),r.jsxs("div",{ref:d,className:Se("update-alert",l),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(eh,{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(ve,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:o,children:u})]})}var XD=".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;margin-block:-6px;max-width:120px;min-height:24px;overflow:hidden;padding:0;padding-block:6px;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-lightGray);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}.ihabdevteam-core-scope .training-card__publisher--static{cursor:default}.ihabdevteam-core-scope .training-card__publisher--static:hover{color:var(--color-gray);text-decoration:none}";se(XD);function j1({title:e,titleLevel:t=3,description:a,topActions:o,children:n,footerLeft:i,footerRight:l,ariaLabel:c,onClick:u,draggable:d,onDragStart:h,onDragEnd:p,className:m}){const v=t?`h${t}`:"div",x=i!=null||l!=null,g=n!=null&&n!==!1,b=s.useCallback(C=>{u&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),u())},[u]);return r.jsxs("div",{className:Se("training-card",u?"training-card--clickable":"",m),onClick:u,onKeyDown:u?b:void 0,role:u?"button":void 0,"aria-label":u?c??(typeof e=="string"?e:void 0):void 0,tabIndex:u?0:void 0,draggable:d,onDragStart:h,onDragEnd:p,children:[r.jsxs("div",{className:"training-card__header",children:[r.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?r.jsx(v,{className:"training-card__title h4",children:e}):e,o!=null&&r.jsx("div",{className:"training-card__top-actions",onClick:C=>C.stopPropagation(),children:o})]}),a!=null?typeof a=="string"?r.jsx("p",{className:"training-card__description body-3",children:a}):a:r.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),g&&r.jsx("div",{className:"training-card__body",children:n}),x&&r.jsxs("div",{className:"training-card__footer",children:[i!=null&&r.jsx("div",{className:"training-card__footer-left",children:i}),l!=null&&r.jsx("div",{className:"training-card__meta",children:l})]})]})}var ZD=".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}";se(ZD);function T1({title:e,titleLevel:t=3,count:a,collapsed:o=!1,onToggle:n,beforeSort:i,sort:l,actions:c,empty:u=!1,emptyContent:d,dragOver:h=!1,onDragOver:p,onDragLeave:m,onDrop:v,children:x,className:g}){const{t:b}=we.useTranslation(),C=s.useId(),f=t?`h${t}`:"span",w=n!=null,y=Se("training-card-group",h&&"training-card-group--dragover",o&&"training-card-group--collapsed",w&&"training-card-group--collapsible",g);return r.jsxs("div",{className:y,onDragOver:p,onDragLeave:m,onDrop:v,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?C:void 0,children:[r.jsxs("header",{className:"training-card-group__header",children:[w&&r.jsx(ve,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:o?"chevron-right":"chevron-down",ariaLabel:typeof e=="string"&&e?o?b("common.expandFor",{name:e}):b("common.collapseFor",{name:e}):o?b("common.expand","\uD3BC\uCE58\uAE30"):b("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!o,onClick:n}),typeof e=="string"?r.jsx(f,{id:C,className:"training-card-group__title h5b",children:e}):e,a!==void 0&&r.jsx("span",{className:"training-card-group__count body-3b",children:a}),(i!=null||l||c!=null)&&r.jsxs("span",{className:"training-card-group__actions",onClick:A=>A.stopPropagation(),children:[i,l&&r.jsx(xa,{size:40,options:l.options,value:l.value,placeholder:l.placeholder,onChange:l.onChange,ariaLabel:typeof e=="string"&&e?b("common.sortFor",{name:e}):void 0}),c]})]}),!o&&(u?r.jsx("div",{className:"training-card-group__empty body-3",children:d}):r.jsx("div",{className:"training-card-group__grid",children:x}))]})}var JD=".ihabdevteam-core-scope .word-table-block__meta{background:transparent}.ihabdevteam-core-scope .word-table-block__table-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.ihabdevteam-core-scope .word-table-block__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .word-table-block__actions-right{margin-left:auto}.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-right{margin-left:0}.ihabdevteam-core-scope .word-table-block__actions .button{min-width:0;width:100%}.ihabdevteam-core-scope .word-table-block__table-actions{display:grid;grid-template-columns:repeat(2,1fr)}.ihabdevteam-core-scope .word-table-block__table-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}}";se(JD);const QD="speechear:saved_word_tables";function e6(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 t6(){try{const e=localStorage.getItem(QD);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(e6):[]}catch{return[]}}function L1(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 Ip(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function a6(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 M1({title:e,titleIcon:t,disc:a,filterTitle:o,filterCollapsible:n,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:c,filterHeaderSummary:u,brand:d,code:h,items:p,onSaveComplete:m,onLoad:v,onRemoveItem:x,onReset:g,resetLabel:b,saveButtonLabel:C,secondarySaveButtonLabel:f,onReorder:w,showCellCount:y,onAddItem:A,className:_,renderSavePopup:k,renderWordSearch:B,hideControls:E,saveOnly:S,tableName:D,nameValue:z,onNameChange:T,descriptionValue:G,onDescriptionChange:N,namePlaceholder:j,descriptionPlaceholder:P,existingNames:X,editingName:K,onCancel:M,initialItemsPerPage:W,renderCellAction:R,actionsLeftExtra:U}){const{t:F}=we.useTranslation(),q=b??F("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),L=p===void 0,I=!!T,[O,Q]=s.useState([]),ce=(z??"").trim(),ne=ce||(j??"").trim(),be=(G??"").trim()||(P??"").trim(),J=(X??[]).map(oe=>oe.trim().toLowerCase()),H=[K?.trim().toLowerCase(),...O].filter(oe=>!!oe),le=[...J];for(const oe of H){const _e=le.indexOf(oe);_e!==-1&&le.splice(_e,1)}const Y=ce!==""&&le.includes(ce.toLowerCase()),[Z,he]=s.useState(Array(4).fill(null)),[je,ye]=s.useState(4),[me,ue]=s.useState(null),xe=Z.slice(0,je),V=!!d?.show,[ae,ge]=s.useState(!0),[ke,Ae]=s.useState(!0),ze=d&&{...d,top:ae,bottom:ke},[Fe,ut]=s.useState("landscape"),[it,et]=s.useState(["image","word","standardPron"]),[gt,Ee]=s.useState("show"),[Ve,Be]=s.useState(!0),[Ue,De]=s.useState(!0),Pe=s.useRef(null),Me=s.useRef([]),[Qe,yt]=s.useState(W==="all"?Number.POSITIVE_INFINITY:W??8),[nt,tt]=s.useState("right"),[Et,vt]=s.useState(!1),[Dt,At]=s.useState(!1),{toastMessage:_t,toastType:Xe,showWarning:ie,clearToast:Te}=Hi("warning"),at=s.useCallback(()=>ue(null),[ue]);A&&!L&&!y&&Pt("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[qe,lt]=s.useState(()=>Math.max(p?.length??1,1)),Re=L?je:y?Math.max(qe,p?.length??1,1):Math.max(p?.length??0,1),{width:ht,height:Ie}=tr[Fe],ct=!L&&!y,xt=p?.length??0,Nt=Math.min(Qe,Math.max(xt,1)),Je=ct?Nt:Re,dt=ct?M0(p??[],Je):null,pt=!!dt&&dt.length>1,ft=L?xe.some(oe=>oe!==null&&oe.length>1):(p??[]).some(oe=>(oe.words??[]).length>1),jt=D?.trim()||`${vi(wa())} ${ft?F("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):F("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,ta=s.useCallback(()=>pt?Me.current.filter(oe=>oe!==null):Pe.current?[Pe.current]:[],[pt]),{print:pa,openNewWindow:Pa,downloadHtml:lo}=ms({getElements:ta,paperW:ht,paperH:Ie,fileName:jt,onPopupBlocked:()=>{ie(F("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."))}}),jo=oe=>{ye(oe),he(_e=>_e.length>=oe?_e:[..._e,...Array(oe-_e.length).fill(null)]),ue(null)},To=oe=>{he(_e=>{const Oe=[..._e];return Oe[oe]=null,Oe}),me===oe&&ue(null)},aa=oe=>{if(me===null)return;const _e=me;he(He=>{const rt=[...He];return rt[_e]=oe.length>0?oe:null,rt});const Oe=xe.findIndex((He,rt)=>rt>_e&&He===null);ue(Oe!==-1?Oe:null)},Ba=L?xe.some(oe=>oe?.some(_e=>!!_e.colloquialPronunciation)):(p??[]).some(oe=>(oe.words??[]).some(_e=>!!_e.colloquialLabel)),oa=s.useMemo(()=>go()?L?Z.slice(0,je).flatMap(oe=>(oe??[]).map(_e=>[_e.word,_e.homonum])):(p??[]).flatMap(oe=>(oe.words??[]).map(_e=>[_e.label,_e.homonum])):[],[L,Z,je,p]),[Gt,co]=s.useState(!1);s.useEffect(()=>{if(oa.length===0)return;let oe=!1;return Promise.all(oa.map(([_e,Oe])=>ei(_e,Oe))).then(_e=>{oe||co(_e.some(Boolean))},()=>{}),()=>{oe=!0}},[oa]);const ya=oa.length>0&&Gt,uo=s.useMemo(()=>[...L||y?[{label:F("wordTable.filter.columns","\uCE78 \uC218"),items:XS.map(oe=>({value:`${oe}\uCE78`,displayLabel:F("wordTable.filter.column",{count:oe})})),display:"segmented"}]:[],...ct&&(p?.length??0)>0?[q0(F,{hasPairs:ft,itemCount:xt})]:[],...pt?[ZS(F)]:[]],[F,L,y,ct,p?.length,ft,xt,pt]),po={...L||y?{[F("wordTable.filter.columns","\uCE78 \uC218")]:`${Re}\uCE78`}:{},...ct&&(p?.length??0)>0?{[F(ft?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Nt}\uAC1C`}:{},...pt?{[F("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:nt}:{}},Za=(oe,_e)=>{_e===F("wordTable.filter.columns","\uCE78 \uC218")?L?jo(parseInt(oe)):lt(parseInt(oe)):_e===F(ft?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?yt(Y0(parseInt(oe),xt)):_e===F("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&tt(K0(oe))},ra=L?a6(xe.filter(oe=>oe!==null&&oe.length>0).map(oe=>({id:Ip(oe),words:oe.map(L1)}))):p??[],Jt=()=>{L&&he(oe=>oe.length>je?oe.slice(0,je):oe)},Ht=(oe=!1)=>{if(At(oe),I&&m){const _e=ne.trim().toLowerCase();_e&&Q(Oe=>Oe.includes(_e)?Oe:[...Oe,_e]),m(ne,ra,be||void 0,oe),Jt();return}if(S&&m){m("",ra,void 0,oe),Jt();return}if(m){vt(!0);return}lo()},[Aa,Qt]=s.useState(!1),[ha,Ft]=s.useState(""),na=ha.trim(),de=na!==""&&J.includes(na.toLowerCase()),Ne=()=>{Ft(ne?F("wordTable.save.copyName",{name:ne,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Qt(!0)},$e=()=>{!na||de||!m||(m(na,ra,be||void 0,!0),Jt(),Qt(!1))},Ke=ra.length===0,Ge=Ke||I&&(ne===""||Y),ee=()=>{if(Ke){ie(F("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(I&&ne===""){ie(F("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}I&&Y&&ie(F("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},pe=r.jsx(ar,{items:ra,orientation:Fe,contentTypes:it,cutLine:gt,showOutline:Ve,showDivLine:Ue,count:Re});return r.jsxs(r.Fragment,{children:[r.jsxs(er,{type:"page",icon:t,title:e,disc:a,className:Se("word-table-block",_),children:[Aa&&r.jsx(no,{size:"small",title:f??F("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Qt(!1),footer:({closeWithAnimation:oe})=>r.jsxs(r.Fragment,{children:[r.jsx(ve,{htmlType:"button",size:48,type:"bar",label:F("common.cancel","\uCDE8\uC18C"),onClick:oe}),r.jsx(ve,{htmlType:"button",size:48,type:"bar",variant:"main",label:F("common.save","\uC800\uC7A5"),disabled:!na||de,onClick:$e})]}),children:r.jsx(So,{label:F("wordTable.save.nameLabel","\uC774\uB984"),value:ha,onChange:Ft,placeholder:F("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:$e,error:de?F("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Et&&m&&k?.({defaultName:typeof e=="string"?e:F("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:pe,previewW:ht,previewH:Ie,items:ra,existingNames:t6().map(oe=>oe.name),saveAsNew:Dt,onSave:(oe,_e)=>{m(oe,ra,_e,Dt),Jt(),vt(!1)},onCancel:()=>vt(!1)}),(L||A)&&me!==null&&B?.({cellIndex:me,onConfirm:L?aa:oe=>{if(A){const _e=oe[0];if(_e){const Oe=new Set((p??[]).map(rt=>rt.id));let He=Ip([_e]);for(let rt=2;Oe.has(He);rt++)He=`${Ip([_e])}~${rt}`;A({id:He,words:[L1(_e)]})}}ue(null)},onClose:at}),!E&&r.jsx(ps,{title:o,collapsible:n,defaultCollapsed:i,collapsed:l,onCollapsedChange:c,headerSummary:u,hasImage:ya,hasColloquial:Ba,contentTypes:it,orientation:Fe,showOutline:Ve,cutLine:gt,showDivLine:Ue,setters:{setContentTypes:et,setOrientation:ut,setShowOutline:Be,setCutLine:Ee,setShowDivLine:De,setShowTopInfo:ge,setShowBottomInfo:Ae},showCutLine:(ct?Je:Re)>1,showDivLine2:ft,middleSections:uo,extraSelected:po,onExtraSelect:Za,showPaperBands:V,showTopInfo:ae,showBottomInfo:ke}),pt&&dt?r.jsx("div",{className:"word-table-block__pages",children:dt.map((oe,_e)=>r.jsx(ar,{orientation:Fe,contentTypes:it,cutLine:gt,showOutline:Ve,showDivLine:Ue,count:Je,items:oe,onRemoveItem:x,onReorder:w&&((Oe,He)=>w(Oe+_e*Je,He+_e*Je)),renderCellAction:R&&((Oe,He)=>R(Oe+_e*Je,He)),brand:ze,code:h,contentRef:Oe=>{Me.current[_e]=Oe},pageNumber:{current:_e+1,total:dt.length},pageNumberPosition:nt},_e))}):r.jsx(ar,{orientation:Fe,contentTypes:it,cutLine:gt,showOutline:Ve,showDivLine:Ue,count:Re,items:L?void 0:p??[],editCells:L?xe:void 0,activeCell:me,onActivateCell:L||A?ue:void 0,onRemoveCell:L?To:void 0,onRemoveItem:L?void 0:x,onReorder:L?void 0:w,renderCellAction:L?void 0:R,brand:ze,code:h,showFillerAdd:!!A,contentRef:Pe}),!E&&!S&&(g||U!=null)&&r.jsxs("div",{className:"word-table-block__table-actions",children:[g&&r.jsx(ve,{htmlType:"button",size:48,type:"bar",label:q,onClick:g}),U]}),I&&!E&&r.jsxs(Un,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[r.jsx(Xa,{variant:"custom",label:F("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:r.jsx(So,{required:!0,value:z??"",onChange:T,placeholder:j?j+F("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):F("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:F("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:Y?F("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:oe=>{(oe.key==="Tab"&&!oe.shiftKey||oe.key===" ")&&!(z??"").trim()&&(j??"").trim()&&(oe.preventDefault(),T?.(j??""))}})}),r.jsx(Xa,{variant:"custom",label:F("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:r.jsx(So,{value:G??"",onChange:N,placeholder:P?P+F("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):F("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:F("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:oe=>{(oe.key==="Tab"&&!oe.shiftKey||oe.key===" ")&&!(G??"").trim()&&(P??"").trim()&&(oe.preventDefault(),N?.(P??""))}})})]})]}),!E&&r.jsxs("div",{className:"word-table-block__actions",children:[r.jsxs("div",{className:"word-table-block__actions-left",children:[!S&&v&&r.jsx(ve,{htmlType:"button",size:40,type:"bar",label:F("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:v}),!S&&r.jsx(ve,{htmlType:"button",size:40,type:"bar",label:F("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Pa})]}),r.jsxs("div",{className:"word-table-block__actions-right",children:[M&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:F("common.cancel","\uCDE8\uC18C"),onClick:M}),!S&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:F("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:pa}),f&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:f,onClick:()=>I?Ne():Ht(!0),disabled:Ke,onDisabledClick:()=>{ie(F("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),r.jsx(ve,{htmlType:"button",size:"56",type:"bar",variant:"main",label:C??F("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Ht(!1),disabled:Ge,onDisabledClick:ee})]})]}),r.jsx(Qo,{message:_t,type:Xe,onClose:Te})]})}var o6=".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-darkGray)}.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%}";se(o6);function Op({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:Se("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${o}, 1fr)`},children:Array.from({length:i},(l,c)=>{const u=e[c];return u?r.jsx("div",{className:"word-table-thumb__cell",children:(u.words?.length?u.words:[{label:u.id}]).map((d,h)=>r.jsxs(s.Fragment,{children:[h>0&&r.jsx("span",{className:"word-table-thumb__divider"}),r.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},h))},c):r.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var r6=".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:280px}.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-lightGray);display:-webkit-box;overflow:hidden}.ihabdevteam-core-scope .word-table-button__meta{color:var(--color-gray)}.ihabdevteam-core-scope .word-table-button__meta-left{align-items:center;display:flex;gap:6px;min-width:0}.ihabdevteam-core-scope .word-table-button__meta-right{align-items:center;display:flex;flex-shrink:0;gap:8px;min-width:0}.ihabdevteam-core-scope .word-table-button__code{color:var(--color-gray);flex-shrink:0;white-space:nowrap}.ihabdevteam-core-scope .word-table-button__meta-left .word-table-button__meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}";se(r6);function $1({items:e,name:t,description:a,createdAt:o,code:n,published:i,publishedLabel:l,shared:c,sharedLabel:u,isNew:d,publisherName:h,publishedAt:p,likeCount:m,downloadCount:v,onPublisherClick:x,selected:g,onClick:b,onMore:C,titleNode:f,className:w}){const{t:y}=we.useTranslation(),A=f!=null,_=h!=null||p!=null||m!=null||v!=null,k=B=>{B.target===B.currentTarget&&!A&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),b?.())};return r.jsxs("div",{className:Se("word-table-button",g?"word-table-button--selected":"",_?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":n?`${t} (${n})`:t,onClick:A?void 0:b,onKeyDown:k,children:[d&&r.jsx("span",{className:"word-table-button__new-dot","aria-label":y("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),r.jsx(Op,{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:[f??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&&!A&&r.jsx(ve,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:y("common.moreFor",{name:t}),onClick:B=>{B.stopPropagation(),C(B)}})]}),(n||o||i||c)&&r.jsxs("div",{className:"word-table-button__meta-row",children:[r.jsx("span",{className:"word-table-button__meta-left",children:r.jsx("span",{className:"word-table-button__meta caption-1",children:o?fi(o,y):""})}),r.jsxs("span",{className:"word-table-button__meta-right",children:[(i||c)&&r.jsxs("span",{className:"word-table-button__badges",children:[i&&r.jsx(Lt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??y("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),c&&r.jsx(Lt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:u??y("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]}),n&&r.jsx("span",{className:"word-table-button__code caption-1",children:n})]})]}),_&&r.jsxs("div",{className:"word-table-button__footer",children:[r.jsxs("span",{className:"word-table-button__store-by",children:[h&&(x?r.jsx("button",{className:"training-card__publisher body-4",type:"button","aria-label":y("wordTable.publisherFilter",{name:h,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:B=>{B.stopPropagation(),x()},children:h}):r.jsx("span",{className:"training-card__publisher training-card__publisher--static body-4",children:h})),p&&r.jsx("span",{className:"training-card__date body-4",children:fi(p,y)})]}),r.jsxs("span",{className:"word-table-button__store-stats",children:[m!=null&&r.jsx(Lt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(m),"aria-label":y("common.likeCount",{count:m,defaultValue:`\uC88B\uC544\uC694 ${m}`})}),v!=null&&r.jsx(Lt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(v),"aria-label":y("common.downloadCount",{count:v,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${v}`})})]})]})]})}/**
1084
+ \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}}`;se(_6);function Ss(...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 w6(e){return Ss(e?.question,e?.q,e?.sentence,e?.text,e?.prompt,e?.wording)}function k6(e){return c1(Ss(e?.questionSound,e?.soundSrc,e?.audioSrc,e?.sound,e?.audio,e?.src))}function u1(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=Ss(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 Lp(e){const{score:t,contextsLength:a,results:o=[],subtitle:n,onReplay:i,onClose:l,inline:c=!1,pending:u=!1}=e||{},{t:d}=we.useTranslation(),h=s.useId(),p=s.useCallback(()=>!u,[u]);s.useEffect(()=>{const S=a??0;if(t!=null&&S>0&&t/S>.5){const D=window.setTimeout(()=>{window.dispatchEvent(new CustomEvent("party:trigger",{detail:{count:140,strength:1.6,duration:2200}}))},0);return()=>window.clearTimeout(D)}},[t,a]);const m=s.useCallback(S=>{const D=u1(S),z=Ss(S?.wording,S?.label);return D===!0?{variant:"main",label:z??d("training.result.heardWell","\uC798 \uB4E4\uC5C8\uC5B4\uC694")}:D===!1?{variant:"danger",label:z??d("training.result.notHeard","\uBABB \uB4E4\uC5C8\uC5B4\uC694")}:{variant:"disabled",label:z??d("training.result.notJudged","\uBBF8\uD310\uC815")}},[d]),v=a??0,x=t??0,g=s.useMemo(()=>Array.isArray(o)?o:[],[o]),b=s.useRef(null),[C,f]=s.useState(null),w=s.useCallback(()=>{b.current?.(),b.current=null,f(null)},[]);s.useEffect(()=>w,[w]);const y=s.useRef(0),A=(S,D)=>{if(!ho)return;const z=Math.round(performance.now()-y.current);console.debug(`[core][\uB2E4\uC2DC\uB4E3\uAE30] +${z}ms ${S}`,D??"")},_=s.useRef(0),k=s.useCallback((S,D,z)=>{w();const T=++_.current,G=()=>_.current===T;y.current=ho?performance.now():0,A(`\uB20C\uB800\uB2E4 \u2014 \uC904 ${S}`,{text:D,rawUrl:z}),f(S),b.current=()=>{A("\uBA48\uCD94\uAC1C\uAC00 \uBD88\uB838\uB2E4(\uC8FC\uC18C \uC5BB\uAE30 \uC804)"),_.current++,Kr()};const N=K=>{A("\uD2BC\uB2E4",K);const M=Zi(K,W=>{A(`\uB05D\uB0AC\uB2E4 \u2014 ${W?"\uB05D\uAE4C\uC9C0 \uB4E4\uC5C8\uB2E4":"\uBABB \uD2C0\uC5C8\uAC70\uB098 \uBA48\uCDC4\uB2E4"}`,{mine:G()}),W&&G()&&(b.current=null,f(null))});return b.current=()=>{A("\uBA48\uCD94\uAC1C\uAC00 \uBD88\uB838\uB2E4(\uD2B8\uB294 \uC911)"),_.current++,M.stop(),Kr()},M.done},j=v6(D,z);A("\uCC28\uB840",j.map(K=>K.kind));const P=j[0]?.kind==="raw",X=P?N(z):Promise.resolve(!1);(async()=>{if(await X||!G())return;const K=x6(),M=P?j.slice(1):j;for(let W=0;W<M.length;W++){if(!G())return;A(`${M[W].kind} \uC5D0\uAC8C \uBB3B\uB294\uB2E4`);const R=await M[W].resolve(C6(K,M.length-W));if(A(`${M[W].kind} \uAC00 \uB2F5\uD588\uB2E4`,R),!G()||R&&(await N(R)||!G()))return}G()&&(A("\uC8FC\uC18C\uB97C \uD558\uB098\uB3C4 \uBABB \uC5BB\uC5C8\uB2E4 \u2014 \uB0AD\uB3C5\uC73C\uB85C \uAC04\uB2E4"),y6(D),b.current=()=>{_.current++,Kr()},A("\uB0AD\uB3C5\uD55C\uB2E4"),Ys(D,{onEnd:()=>{G()&&(b.current=null,f(null))}}))})()},[w]),B=s.useMemo(()=>g.map(S=>{const D=S??{},z=w6(D)||d("training.result.noContent","(\uB0B4\uC6A9\uC5C6\uC74C)"),{variant:T,label:G}=m(D),N=Array.isArray(D.corrects)?D.corrects:[],j=N.length?N.join(", "):D.answer!=null&&D.answer!==""?String(D.answer):null,P=typeof D.selectedText=="string"?D.selectedText:null,X=u1(D)===!0,K=k6(D),M=!!K||f6(z);return{problem:z,variant:T,label:G,answer:j,selectedText:P,isCorrect:X,sound:K,canHear:M}}),[g,m,d]),E=s.useMemo(()=>B.some(S=>S.answer!==null||S.selectedText!==null),[B]);return r.jsx(no,{onClose:l,closeOnBackdrop:!1,inline:c,ariaLabel:d("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:S,closeWithAnimation:D})=>r.jsxs(r.Fragment,{children:[u&&r.jsx("p",{id:h,className:"trp-actions__reason caption-1",role:"status",children:d("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(ve,{htmlType:"button",size:56,type:"bar",label:d("training.result.replay","\uB2E4\uC2DC\uD558\uAE30"),onClick:()=>S(i)}),r.jsx(ve,{htmlType:"button",size:56,type:"bar",label:d("training.result.done","\uC644\uB8CC"),variant:"main",onClick:D,disabled:u,onDisabledClick:u?()=>{}:void 0,"aria-describedby":u?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:d("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")}),r.jsx("h1",{className:"trp-result__title h2",children:d("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":d("training.result.scoreAria",{correct:x,total:v}),children:[r.jsx("span",{className:"trp-score__big",children:x}),r.jsx("span",{className:"trp-score__sep",children:"/"}),r.jsx("span",{className:"trp-score__total",children:v})]})})]}),B.length>0&&r.jsx("section",{className:"trp-result__body",children:r.jsxs("div",{className:`result-table${E?" result-table--answer":""}`,role:"table","aria-label":d("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:d("common.col.problem","\uBB38\uC81C")}),E&&r.jsx("span",{role:"columnheader",children:d("training.result.colAnswerSelected","\uC815\uB2F5 \xB7 \uC120\uD0DD")}),r.jsx("span",{className:"col-right",role:"columnheader",children:d("training.result.colJudge","\uD310\uC815")})]}),B.map((S,D)=>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(D+1).padStart(2,"0")}),r.jsx("div",{className:"trp-row__q body-2",children:S.problem}),S.canHear&&r.jsx(ve,{htmlType:"button",size:32,type:"dot",useBorder:!1,icon:C===D?"square":"volume-2",className:"trp-row__replay",ariaLabel:C===D?d("training.result.replaySoundStop",{no:D+1,defaultValue:"{{no}}\uBC88 \uB4E3\uAE30 \uBA48\uCDA4"}):d("training.result.replaySound",{no:D+1,defaultValue:"{{no}}\uBC88 \uB2E4\uC2DC \uB4E3\uAE30"}),onClick:()=>C===D?w():k(D,S.problem,S.sound)})]}),E&&r.jsxs("div",{className:"trp-row__answers",children:[S.answer!==null&&r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:"trp-row__answer-label answer-correct caption-1",children:d("training.result.colAnswer","\uC815\uB2F5")}),r.jsx("span",{className:"trp-row__answer-value body-2",children:S.answer})]}),r.jsxs("div",{className:"trp-row__answer-line",children:[r.jsx("span",{className:`trp-row__answer-label answer-selected caption-1 ${S.isCorrect?"is-correct":"is-wrong"}`,children:d("training.result.colSelected","\uC120\uD0DD")}),r.jsx("span",{className:`trp-row__answer-value body-2 ${S.isCorrect?"is-correct":"is-wrong"}`,children:S.selectedText??"\u2014"})]})]}),r.jsx("div",{className:"trp-row__judge",children:r.jsx(Lt,{variant:S.variant,label:S.label,fill:"soft",minWidth:80})})]},D))]})})]})})}const Mp=new Set;function B6(e){s.useEffect(()=>{if(!e||Mp.has(e))return;Mp.add(e);const t=()=>typeof document>"u"||document.visibilityState!=="hidden";let a=null,o=null,n=0,i=0;const l=()=>{const h=Date.now();a==null&&(a=h),o==null&&(o=h)},c=()=>{o!=null&&(n+=Date.now()-o,o=null)};t()&&l();const u=()=>{if(c(),a==null)return;const h=n-i;if(h<1e3||i===0&&n<5e3)return;const p=Date.now(),m=p-h;i=n,cc({trainingType:e,startedAt:new Date(m).toISOString(),endedAt:new Date(p).toISOString()})},d=()=>{t()?l():u()};return typeof document<"u"&&document.addEventListener("visibilitychange",d),typeof window<"u"&&window.addEventListener("pagehide",u),()=>{typeof document<"u"&&document.removeEventListener("visibilitychange",d),typeof window<"u"&&window.removeEventListener("pagehide",u),u(),Mp.delete(e)}},[e])}function Es(e,t){return e&&e.id||`page-${t??0}`}function Ds(e,t){return e&&e.key||`step-${t??0}`}function Ns(){return{pageIndex:0,stepIndex:0,answersByPage:{}}}function A6(e,t){return typeof e?.props=="function"?e.props(t)||{}:e?.props||{}}const S6=300,E6=()=>{try{return typeof window<"u"&&!!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches}catch{return!1}},io=Object.freeze({}),d1=new Set(["LISTEN_IN_NOISE","SHORT_STORY","LONG_STORY","ORDERING_SENTENCE"]);function $p(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 D6=e=>r.jsx(Lp,{score:e.score,contextsLength:e.contextsLength,results:e.results,onReplay:e.onReplay,onClose:e.onClose,pending:e.pending});function N6(e){const{scenario:t,title:a,subTitle:o,depth:n,icon:i,wrapperStyle:l,iconTooltip:c,pageIndex:u,pageCount:d,stepIndex:h,stepCount:p,onBack:m,onComplete:v,onRoundFinished:x,onNext:g,onSettings:b,useNoiseSetting:C=!0,children:f,ariaLabel:w,label:y,buildResults:A,onResult:_,typeKey:k,entryPoint:B,dailyTotal:E,itemRef:S,renderResultPopup:D,noiseOverride:z,hideNoiseRows:T=!1}=e;B6(k&&!d1.has(k)?k:"");const G=s.useRef(0);s.useEffect(()=>{G.current=Date.now()},[]);const{t:N}=we.useTranslation(),j=_,P=!!t,X=t?.id||null,K=t?.meta||{},M=Array.isArray(t?.pages)?t.pages:[],W=Array.isArray(f)||s.isValidElement(f)&&typeof f!="function"?s.Children.toArray(f).filter(s.isValidElement):[],R=W.length>0,U=de=>de===qn||de?.__isTrainingPage===!0,F=R&&W.some(de=>U(de.type)),q=F?W.filter(de=>U(de.type)).map((de,Ne)=>{const $e=de.props||{};return{id:`children-page-${Ne}`,steps:s.Children.toArray($e.children).filter(s.isValidElement),pageTop:$e.pageTop||$e.top||null,pageBottom:$e.pageBottom||$e.bottom||null}}):[{id:"children-page-0",steps:W}],L=R&&!P&&typeof f!="function",I=L?Math.max(1,q.length):0;s.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")}},[]),s.useEffect(()=>{if(typeof document>"u"||!document.body)return;const de=document.body;return de.dataset.ihabTrainingPopupCount=String(Number(de.dataset.ihabTrainingPopupCount||"0")+1),de.classList.add("ihab-training-popup-open"),()=>{const Ne=Number(de.dataset.ihabTrainingPopupCount||"1")-1;Ne>0?de.dataset.ihabTrainingPopupCount=String(Ne):(delete de.dataset.ihabTrainingPopupCount,de.classList.remove("ihab-training-popup-open"))}},[]),s.useEffect(()=>{if(!(typeof document>"u"||!document.body))return lA()},[]);const[O,Q]=s.useState({...Do,enabled:!1}),ce=s.useRef(O);s.useEffect(()=>{ce.current=O},[O]);const ne=s.useRef(z),be=s.useRef(!1),J=s.useRef(null);s.useEffect(()=>{let de=!1;const Ne=$e=>{if(de)return;be.current=!0;const Ke=$e?Eo({...Do,enabled:!1},$e):{...Do},Ge=J.current;J.current=null;const ee=Ge?Eo(Ke,Ge):Ke;ce.current=ee,Q(ee),Ge&&!ne.current&&gn(ee),wr(ee);const pe=ne.current;if(pe){const oe=typeof pe=="function"?pe(ee):pe,_e=Eo(ee,oe);ce.current=_e,Q(_e),wr(_e)}};return gc().then($e=>{if(de){const Ke=J.current;if(J.current=null,Ke&&!ne.current){const Ge=$e?Eo({...Do,enabled:!1},$e):{...Do};gn(Eo(Ge,Ke))}return}Ne($e)}),()=>{de=!0}},[]);const[H,le]=s.useState(null),[Y,Z]=s.useState(null),he=s.useCallback((de,Ne)=>{de==="main"?le(Ne):Z(Ne)},[]),je=s.useRef(null),ye=s.useRef(null),me=s.useCallback(()=>{ye.current!==null&&(clearTimeout(ye.current),ye.current=null);const de=je.current;je.current=null,de&&gn(de)},[]);s.useEffect(()=>{if(typeof window>"u")return;const de=()=>{document.visibilityState==="hidden"&&me()};return window.addEventListener("pagehide",me),document.addEventListener("visibilitychange",de),()=>{window.removeEventListener("pagehide",me),document.removeEventListener("visibilitychange",de),me()}},[me]);const ue=s.useCallback(de=>{const Ne=Eo(ce.current,de);if(ce.current=Ne,Q(Ne),!be.current){J.current={...J.current??{},...de},wr(Ne);return}ne.current||(je.current=Ne,ye.current!==null&&clearTimeout(ye.current),ye.current=setTimeout(me,S6)),wr(Ne)},[me]),xe=O.mainSpeed,V=O.mainVolume,ae=s.useCallback(de=>ue({mainSpeed:de}),[ue]),ge=s.useCallback(de=>ue({mainVolume:de}),[ue]),ke=s.useMemo(()=>({settings:O,setSettings:ue,registerAnalyser:he,mainAnalyser:H,noiseAnalyser:Y,playbackRate:xe,setPlaybackRate:ae,mainVolume:V,setMainVolume:ge}),[O,ue,he,H,Y,xe,ae,V,ge]),Ae=s.useRef(null),[ze,Fe]=s.useState(0),ut=s.useRef([]),[it,et]=s.useState("center"),[gt,Ee]=s.useState(!1),Ve=s.useRef(!1),Be=s.useRef(null),Ue=s.useCallback(de=>{Ve.current||(Ve.current=!0,Ee(!0),Be.current=setTimeout(()=>{try{de()}catch{Ve.current=!1,Ee(!1)}},E6()?0:a6))},[]);s.useEffect(()=>()=>{Be.current&&clearTimeout(Be.current)},[]);const De=s.useRef(m);s.useEffect(()=>{De.current=m});const Pe=s.useRef(typeof document>"u"?null:document.activeElement);s.useEffect(()=>{const de=Ae.current,Ne=Pe.current;if(Uc(de,Ne),de){const $e=Array.from(de.querySelectorAll(Ga)).filter(Ke=>!Ke.closest('[aria-hidden="true"]'))[0];if($e)try{$e.focus()}catch{}}return()=>{const $e=document.activeElement;if(!$e||$e===document.body||de&&de.contains($e))try{qc(Ne)?.focus?.()}catch{}}},[]),s.useEffect(()=>Uo(()=>Ue(()=>{const de=De.current;typeof de=="function"&&de()})),[Ue]),Hc(Ae,!0);const[Me,Qe]=s.useState(!1),yt=s.useRef(!1),[nt,tt]=s.useState(null),Et=s.useRef(0),vt=s.useRef(0),Dt=()=>{Et.current+=1,vt.current+=1,tt(null)},[At,_t]=s.useState(""),[Xe,ie]=s.useState(()=>Ns()),Te=s.useRef(typeof u=="number"?u:null);s.useEffect(()=>{!P&&!L||(ie(Ns()),Dt())},[P,X,L]),s.useEffect(()=>{L&&ie(de=>{const Ne=Math.max(0,Math.min(de.pageIndex,Math.max(0,I-1)));return Ne!==de.pageIndex?{...de,pageIndex:Ne,stepIndex:0}:de})},[L,I]);const at=L?Math.max(0,Math.min(Xe.pageIndex,I-1)):0,qe=L?q[at]:null,lt=L&&qe&&Array.isArray(qe.steps)?qe.steps:[],Re=P?Xe.pageIndex:L?at:typeof u=="number"?u:0,ht=P?M[Math.max(0,Math.min(Xe.pageIndex,Math.max(0,M.length-1)))]:null,Ie=P&&ht&&Array.isArray(ht.steps)?ht.steps:[],ct=P?Ie.length:L?lt.length:typeof p=="number"?p:0,xt=P||L?Math.max(0,Math.min(Xe.stepIndex,Math.max(0,ct))):typeof h=="number"?h:0,Nt=P?M.length:L?I:typeof d=="number"?d:0;s.useEffect(()=>{if(!P&&!L)return;const de=P?Es(ht,Re):qe?.id||`children-page-${Re??0}`,Ne=new Date().toISOString();for(let $e=0;$e<=xt;$e+=1){const Ke=P?Ds(Ie[$e],$e):`step-${$e}`,Ge=ft(de,Ke);pt.current.has(Ge)||pt.current.set(Ge,Ne)}},[P,L,Re,xt,qe?.id]),s.useLayoutEffect(()=>{const de=Te.current;if(typeof Re=="number"&&de!==null&&Re!==de&&Re>de)try{_t(N("training.problemNotice",{n:Re+1}))}catch{}Te.current=typeof Re=="number"?Re:Te.current},[Re,u,N]),s.useLayoutEffect(()=>{const de=Ae.current;if(!de)return;const Ne=()=>de.querySelector(".page-popup__scroll");let $e=null,Ke=null,Ge=null;const ee=He=>{const rt=Ne();if(!rt)return;const Ct=rt.scrollHeight<=rt.clientHeight;if(et(Ct?"center":"top"),He&&!yt.current){yt.current=!0;try{Qe(!0)}catch{}try{_e.disconnect()}catch{}}},pe=()=>{$e!==null&&cancelAnimationFrame($e),$e=requestAnimationFrame(()=>{Ke!==null&&clearTimeout(Ke),Ke=setTimeout(()=>ee(!0),60)})},oe=()=>{Ge!==null&&cancelAnimationFrame(Ge),Ge=requestAnimationFrame(()=>ee(!1))};pe(),window.addEventListener("resize",oe);const _e=new MutationObserver(pe);_e.observe(de,{childList:!0,subtree:!0,attributes:!0});const Oe=setTimeout(()=>{yt.current||ee(!0)},400);return()=>{window.removeEventListener("resize",oe),$e!==null&&cancelAnimationFrame($e),Ke!==null&&clearTimeout(Ke),Ge!==null&&cancelAnimationFrame(Ge),clearTimeout(Oe);try{_e.disconnect()}catch{}}},[Ae]);const Je=s.useCallback(de=>{Ae.current&&(Ae.current._childOnNext=de)},[]),dt=s.useCallback(de=>{Ae.current&&(Ae.current._childOnResult=de)},[]),pt=s.useRef(new Map),ft=(de,Ne)=>`${de}\0${Ne}`,jt=s.useCallback((de,Ne,$e)=>{ie(Ke=>{const Ge=Ke.answersByPage[de]||{},ee=Ge[Ne],pe=As($e),oe=As(ee);if(ee&&oe>pe)return Ke;const _e=Bp($e,pt.current.get(ft(de,Ne)),pe);return{...Ke,answersByPage:{...Ke.answersByPage,[de]:{...Ge,[Ne]:_e}}}})},[ie]),ta=s.useCallback((de,Ne,$e)=>{const Ke=Es(ht,Re),Ge=Ds(de,Ne);jt(Ke,Ge,$e)},[ht,Re,jt]),pa=s.useCallback((de,Ne,$e)=>{const Ke=Es(ht,Re),Ge=Ds(de,Ne);jt(Ke,Ge,$e),!$e?.allowChange&&de?.autoAdvance!==!1&&ie(ee=>({...ee,stepIndex:Math.max(ee.stepIndex,Ne+1)}))},[ht,Re,jt,ie]),Pa=s.useCallback((de,Ne)=>{const $e=qe?.id||`children-page-${Re??0}`,Ke=typeof Ne=="number"?Ne:xt??0,Ge=`step-${Ke}`;jt($e,Ge,de),de?.allowChange||ie(ee=>({...ee,stepIndex:Math.max(ee.stepIndex,Ke+1)}))},[qe,Re,xt,jt,ie]),lo=s.useCallback((de,Ne)=>{const $e=qe?.id||`children-page-${Re??0}`,Ke=`step-${typeof Ne=="number"?Ne:xt??0}`;jt($e,Ke,de)},[qe,Re,xt,jt]),jo=L?{currentPageIndex:Re??0,currentStepIndex:xt??0,totalStepsInPage:lt.length,handleStepDone:Pa,handleStepChange:lo}:null,To=async()=>{const de=typeof t?.buildResults=="function"?await Promise.resolve(t.buildResults({scenario:t,pages:M,flowState:Xe,answersByPage:Xe.answersByPage})):null;return typeof j=="function"&&await Promise.resolve(j(de))||de},aa=async()=>{const de=qe?.id||`children-page-${Xe.pageIndex}`,Ne=Xe.answersByPage[de]||{},$e=F?(()=>{const ee={};let pe=0;return q.forEach(oe=>{const _e=Xe.answersByPage[oe.id]||{},Oe=Array.isArray(oe.steps)?oe.steps.length:0;for(let He=0;He<Oe;He+=1){const rt=_e[`step-${He}`];typeof rt<"u"&&(ee[`step-${pe+He}`]=rt)}pe+=Oe}),ee})():Ne;if(typeof A=="function"){const ee=await Promise.resolve(A($e,{pageAnswers:Ne,answersByPage:Xe.answersByPage,pages:q,currentPageId:de}));return typeof j=="function"&&await Promise.resolve(j(ee))||ee}const Ke=Object.entries(Ne).map(([ee,pe],oe)=>({index:oe,key:ee,payload:pe})),Ge={results:Ke,answers:Ke,score:0};return typeof j=="function"&&await Promise.resolve(j(Ge))||Ge},Ba=()=>{const de=++Et.current,Ne=()=>de!==Et.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(P){const Ge=To();tt(io);const ee=Ge;Promise.resolve(ee).then(pe=>{Ne()||tt(pe||{isEmpty:!0})}).catch(pe=>{!Ne()&&tt({isEmpty:!0})});return}if(L){const Ge=aa();tt(io);const ee=Ge;Promise.resolve(ee).then(pe=>{Ne()||tt(pe||{isEmpty:!0})}).catch(pe=>{!Ne()&&tt({isEmpty:!0})});return}const $e=Ae.current&&Ae.current._childOnResult,Ke=Ge=>{try{return Ge?Ge():void 0}catch{return}};if(typeof $e=="function"){const Ge=Ke($e);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ge&&typeof Ge.then!="function"?tt(Ge):tt(Ge&&typeof Ge.then=="function"?io:{});const ee=()=>{Ne()||tt(pe=>pe===io?{}:pe)};Promise.resolve(Ge).then(pe=>{pe&&!Ne()?tt(pe):ee()}).catch(pe=>{ee()});return}if(typeof j=="function"){const Ge=Ke(j);try{typeof document>"u"?require("url").pathToFileURL(__filename).href:_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}Ge&&typeof Ge.then!="function"?tt(Ge):tt(Ge&&typeof Ge.then=="function"?io:{});const ee=()=>{Ne()||tt(pe=>pe===io?{}:pe)};Promise.resolve(Ge).then(pe=>{try{typeof document>"u"?require("url").pathToFileURL(__filename).href:_a&&_a.tagName.toUpperCase()==="SCRIPT"&&_a.src||new URL("ihabdevteam-core.cjs.js",document.baseURI).href}catch{}pe&&!Ne()?tt(pe):ee()}).catch(pe=>{console.error("viewResults external handler failed",pe),ee()});return}},oa=()=>{if(P){if(typeof Re=="number"&&typeof Nt=="number"&&Re<Nt-1){ie(Ne=>({...Ne,pageIndex:Ne.pageIndex+1,stepIndex:0}));return}return Ba()}if(L){const Ne=lt.length;if(typeof xt=="number"&&xt<Ne-1){ie($e=>({...$e,stepIndex:$e.stepIndex+1}));return}if(typeof Re=="number"&&typeof Nt=="number"&&Re<Nt-1){ie($e=>({...$e,pageIndex:$e.pageIndex+1,stepIndex:0}));return}return Ba()}if(typeof g=="function"){try{g()}catch{}return}const de=Ae.current&&Ae.current._childOnNext;if(typeof de=="function"){try{de()}catch{}return}},Gt=P?K.title||K.label||w||N("common.popup","\uD31D\uC5C5"):a||y||(Array.isArray(n)?n[n.length-1]:void 0)||w||N("common.popup","\uD31D\uC5C5"),co=w||Gt,ya=P?K.title??K.label??Gt:a??y??Gt,uo=(de,Ne)=>{const $e=Es(ht,Re),Ke=Ds(de,Ne),Ge=Xe.answersByPage[$e]?.[Ke],ee=A6(de,{page:ht,pageIndex:Re,step:de,stepIndex:Ne,storedPayload:Ge,answersByPage:Xe.answersByPage,flowState:Xe}),pe={key:Ke,index:Ne,stepIndex:xt,isLast:Ne===Ie.length-1};switch(de?.type){case"listen":return r.jsx(ws,{...pe,...ee,onDone:oe=>pa(de,Ne,oe)});case"confirm":return r.jsx(ys,{...pe,...ee,onDone:oe=>pa(de,Ne,oe),onChange:oe=>ta(de,Ne,oe)});case"confirmWithText":return r.jsx(_s,{...pe,...ee,onDone:oe=>pa(de,Ne,oe),onChange:oe=>ta(de,Ne,oe)});case"orderList":return r.jsx(ks,{...pe,...ee,onDone:oe=>pa(de,Ne,oe),onChange:oe=>ta(de,Ne,oe)});default:return null}},po=s.useRef(void 0);s.useEffect(()=>{const de=po.current;if(po.current=Re,de===void 0||de===Re||!ss())return;const Ne=Ae.current;if(!Ne)return;const $e=document.activeElement;if(!(!$e||$e===document.body||!Ne.contains($e)||$e.disabled===!0))return;const Ke=Ne.querySelector(`.training-steps ${Ga.split(", ").join(", .training-steps ")}`)??Array.from(Ne.querySelectorAll(Ga)).find(Ge=>!Ge.closest('[aria-hidden="true"]'));try{Ke?.focus()}catch{}},[Re]);const Za=P?M.length>0?r.jsx("div",{className:"training-steps",children:Ie.map((de,Ne)=>uo(de,Ne))},`replay-${ze}`):r.jsx("div",{className:`page-popup__content page-popup__content--center${e.contentFull?" page-popup__content--full":""}`,children:r.jsx("div",{className:"pp-empty",children:t?.emptyMessage||N("training.noQuestions","\uBB38\uC81C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.")})}):null,ra=L?r.jsxs(s1.Provider,{value:jo,children:[qe?.pageTop?r.jsx("div",{className:"training-page-top",children:qe.pageTop}):null,r.jsx("div",{className:"training-steps",children:lt.map((de,Ne)=>{const $e=de;return s.cloneElement($e,{...$e.props,_stepIndex:Ne,_totalSteps:lt.length,_stepKey:`step-${Ne}`,_pageIndex:Re})})},`replay-${ze}`),qe?.pageBottom?r.jsx("div",{className:"training-page-bottom",children:qe.pageBottom}):null]}):null,Jt=s.useRef(-1),Ht=s.useCallback(()=>{if(!k)return;const de=nt,{results:Ne,correct:$e,total:Ke}=$p(nt),Ge={correct:$e,total:Ke,attempt:ut.current.length+1,previousAttempts:[...ut.current]};if(Jt.current===vt.current)return Ge;Jt.current=vt.current,uc({items:bc(Ne),category:d1.has(k)?"sentence":"word",trainingType:k,entryPoint:B??"sentence",itemRef:S??null,correct:$e,total:Ke,score:typeof de?.score=="number"?de.score:null,durationSeconds:Math.max(0,Math.round((Date.now()-G.current)/1e3)),dailyTotal:E??null});try{x?.(Ge)}catch{}return Ge},[k,B,E,S,nt,x]);s.useEffect(()=>{!nt||nt===io||nt?.isEmpty||($p(nt).total??0)>0&&Ht()},[nt,Ht]);const Aa=s.useCallback(()=>{const de=Ht();Dt(),Ue(()=>{typeof v=="function"&&v(de),typeof m=="function"&&m()})},[v,m,Ht,tt,Ue]),Qt=s.useCallback(()=>_t(""),[_t]),ha=s.useCallback(()=>{Ue(()=>{typeof m=="function"&&m()})},[m,Ue]),Ft=r.jsxs("div",{className:`page-popup${gt?" page-popup--closing":""}`,role:"dialog","aria-modal":"true","aria-label":co,children:[r.jsxs("div",{ref:Ae,className:`page-popup__panel ${Me?"":"page-popup__panel--measuring"} ${it==="center"?"page-popup__panel--center":it==="top"?"page-popup__panel--top":""}`,children:[r.jsx(wp,{title:ya,subtitle:P?K.subtitle||K.label:Array.isArray(n)?n.join(" / "):void 0,desc:P?void 0:o,depth:P?K.depth:n,icon:P?K.icon:i,wrapperStyle:P?K.wrapperStyle:l,iconTooltip:P?K.iconTooltip:c,progressMax:Nt,progressIndex:Re,pageIndex:Re,pageCount:Nt,onBack:ha,onClose:ha}),r.jsx("div",{className:"page-popup__scroll",children:r.jsx("div",{className:`page-popup__content ${it==="center"?"page-popup__content--center":"page-popup__content--top"}${e.contentFull?" page-popup__content--full":""}`,children:L?ra:P?Za:typeof f=="function"?f({registerOnNext:Je,registerOnResult:dt,panelRef:Ae,setResultOverlay:tt}):f})}),r.jsx(_p,{onSettings:b,onNext:oa,onResult:Ba,useNoiseSettingBtn:!!(P?K.useNoiseSetting??!0:C),stepIndex:xt,stepCount:ct,pageIndex:Re,pageCount:Nt,resultOpen:!!(nt&&!nt.isEmpty),hideNoiseRows:T})]}),nt&&!nt.isEmpty&&(D??D6)({score:nt.score,results:nt.results||nt.answers||[],contextsLength:nt.results?nt.results.length:nt.answers?nt.answers.length:0,onReplay:()=>{if(G.current=Date.now(),nt!==io){const{correct:de,total:Ne}=$p(nt);ut.current.push({correct:de,total:Ne})}if(Dt(),Fe(de=>de+1),P){if(ie(Ns()),typeof t?.onReplay=="function")try{t.onReplay()}catch{}return}if(L){ie(Ns());return}try{const de=Ae.current&&Ae.current._childOnResult;typeof de=="function"&&de({replay:!0})}catch{}},onClose:Aa,pending:nt===io}),nt?.isEmpty&&r.jsx("div",{className:"page-popup page-popup--result-empty",role:"dialog","aria-modal":"true","aria-label":N("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${e.contentFull?" page-popup__content--full":""}`,children:r.jsx("div",{className:"page-popup__empty",children:N("training.result.eyebrow","\uD6C8\uB828 \uC644\uB8CC")})})}),r.jsx("div",{className:"page-popup__bottom",children:r.jsx(ve,{htmlType:"button",variant:"main",size:48,onClick:Aa,label:N("training.result.done","\uC644\uB8CC")})})]})}),r.jsx(Qo,{message:At,position:"top",onClose:Qt})]}),na=r.jsx(vs.Provider,{value:ke,children:Ft});return typeof document<"u"&&document.body?ma.createPortal(na,document.body):na}const so=N6;so.Page=qn,so.ListenStep=Sp,so.ConfirmStep=Ep,so.ConfirmWithTextStep=Dp,so.OrderListStep=Np,so.CardStep=jp,so.CardOrderStep=h6;var j6=".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);display:flex;flex-direction:column;gap:var(--spacing-m);padding:var(--spacing-l)}.ihabdevteam-core-scope .word-search-result-block__head{align-items:center;-moz-column-gap:var(--spacing-xs);column-gap:var(--spacing-xs);display:flex;flex-wrap:wrap;row-gap:0}.ihabdevteam-core-scope .word-search-result-block__head-main{align-items:center;display:flex;gap:var(--spacing-xs);min-width:0}.ihabdevteam-core-scope .word-search-result-block__head-icon{color:var(--color-gray);flex-shrink:0}.ihabdevteam-core-scope .word-search-result-block__title{min-width:0;text-align:left}.ihabdevteam-core-scope .word-search-result-block__head-actions{align-items:center;display:flex;gap:var(--spacing-xs);margin-left:auto}.ihabdevteam-core-scope .word-search-result-block__head-disc{color:var(--color-gray);flex:0 0 100%;margin:0;min-width:0}.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-label{color:var(--color-gray)}.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}";se(j6);var T6='.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}';se(T6);function L6({label:e,homonum:t}){const a=go()?.(e,t)??"",{imgRef:o,loading:n,hasImage:i,onLoad:l,onError:c}=qd(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:l,onError:c})]}):r.jsx("div",{className:"tooltip-word-image__cell tooltip-word-image__cell--text h3",children:r.jsx("span",{children:e})})}function Rp({words:e,anchorRect:t}){const a=s.useRef(null),[o,n]=s.useState(null);return s.useLayoutEffect(()=>{if(!t||!a.current)return;const{offsetWidth:i,offsetHeight:l}=a.current,c=window.innerWidth;let u=t.left+t.width/2-i/2,d=t.top-l-8;d<8&&(d=t.bottom+8),u=Math.max(8,Math.min(u,c-i-8)),n({left:u,top:d})},[t]),!t||e.length===0?null:ma.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(L6,{label:i.label,homonum:i.homonum},`${i.label}_${i.homonum??1}`))})}),document.body)}function p1({titleIcon:e,resultCount:t,resultUnit:a,searchQuery:o,items:n,groups:i,selected:l=[],onSelect:c,maxSelect:u,onClearSelection:d,onPrint:h,onPrintEmpty:p,className:m,emptyHint:v,sectionType:x="page",disc:g}){const{t:b,i18n:C}=we.useTranslation(),f=C.language?.startsWith("ko")??!1,{anchorRect:w,openAt:y,close:A}=Xo(),[_,k]=s.useState(null),B=s.useCallback(()=>{A(),k(null)},[A]);Qu(B,!!_);const E=(o??"").trim(),S=/^[^,[\]\s]+$/.test(E)?E:"",D=S.length>0,z=o===void 0&&t===void 0,T=D?"match":z?"original":"ganada",[G,N]=s.useState(()=>T),[j,P]=s.useState("50"),[X,K]=s.useState(1),[M,W]=s.useState(D);M!==D&&(W(D),N(T));const R=G==="match"&&!D||G==="original"&&!z?T:G,U=s.useMemo(()=>[...D?[{value:"match",label:b("wordSearch.sort.match",{defaultValue:"\uC2DC\uC791 \uC6B0\uC120"})}]:[],...z?[{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,D,z]),F=s.useMemo(()=>["10","25","50","100"].map(ue=>({value:ue,label:b("wordSearch.pageSize",{count:Number(ue),defaultValue:`${ue}\uAC1C\uC529 \uBCF4\uAE30`})})),[b]),q=ue=>ue.words?.[0],L=s.useMemo(()=>{const ue=[...S].length,xe=fl(S),V=new Map;return ae=>{let ge=V.get(ae);return ge===void 0&&(ge=xe((ae.words?.[0]?.label??"").slice(0,ue))?0:1,V.set(ae,ge)),ge}},[S]),I=s.useCallback((ue,xe)=>{const V=ke=>q(ke)?.label??"",ae=ke=>q(ke)?.syllables??[...V(ke)].length,ge=ke=>(ke.words??[]).reduce((Ae,ze)=>{const Fe=parseInt(ze.grade??"",10);return Number.isFinite(Fe)&&Fe<Ae?Fe:Ae},999);switch(R){case"match":return L(ue)-L(xe)||va(V(ue),V(xe));case"ganada":return va(V(ue),V(xe));case"ganada_desc":return va(V(xe),V(ue));case"syllable":return ae(ue)-ae(xe)||va(V(ue),V(xe));case"syllable_desc":return ae(xe)-ae(ue)||va(V(ue),V(xe));case"grade":return ge(ue)-ge(xe)||va(V(ue),V(xe));case"grade_desc":return ge(xe)-ge(ue)||va(V(ue),V(xe));default:return 0}},[R,L]),O=s.useMemo(()=>n.slice().sort(I),[n,I]),Q=Number(j)||10,ce=s.useMemo(()=>(i??[]).flatMap(ue=>ue.items.slice().sort(I).map(xe=>({item:xe,label:ue.label}))),[i,I]),ne=i?ce.length:O.length,be=Math.max(1,Math.ceil(ne/Q)),J=Math.min(X,be),H=s.useMemo(()=>O.slice((J-1)*Q,J*Q),[O,J,Q]),le=s.useId(),Y=s.useMemo(()=>{if(!i)return null;const ue=ce.slice((J-1)*Q,J*Q),xe=new Map;for(const{item:V,label:ae}of ue)xe.has(ae)||xe.set(ae,[]),xe.get(ae).push(V);return[...xe.entries()].map(([V,ae])=>({label:V,items:ae}))},[i,ce,J,Q]);s.useEffect(()=>{K(1)},[G,j,ne,o]);const Z=ne>0?r.jsxs("div",{className:"word-search-result-block__toolbar",children:[r.jsx(xa,{size:40,options:U,value:R,onChange:N,ariaLabel:b("wordSearch.sort.aria",{defaultValue:"\uC815\uB82C"})}),r.jsx(xa,{size:40,options:F,value:j,onChange:P,ariaLabel:b("wordSearch.pageSizeAria",{defaultValue:"\uD398\uC774\uC9C0 \uD06C\uAE30"})}),r.jsx(Pn,{page:J,totalPages:be,onChange:K})]}):void 0,he=ue=>{c&&c(ue)},je=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:f?Fl(a):a})]}):void 0,ye=t!==void 0&&t>0&&u!==void 0&&a?b("wordSearch.resultDisc",{unit:f?Gl(a):a,max:u,selected:l.length}):void 0,me=g??ye;return r.jsxs(er,{type:x,className:Se("word-search-result-block",m),children:[r.jsxs("div",{className:"word-search-result-block__inner",children:[(je||Z||me)&&r.jsxs("div",{className:"word-search-result-block__head",children:[r.jsxs("div",{className:"word-search-result-block__head-main",children:[e&&r.jsx(ot,{icon:e,className:"word-search-result-block__head-icon"}),je&&r.jsx("span",{className:"word-search-result-block__title h3",children:je})]}),Z&&r.jsx("div",{className:"word-search-result-block__head-actions",children:Z}),me&&r.jsx("div",{className:"word-search-result-block__head-disc body-3",children:me})]}),(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.")}),v&&r.jsx("p",{className:"word-search-result-block__empty-hint body-3",children:v})]}),i?(Y??[]).map(ue=>r.jsxs("div",{className:"word-search-result-block__group",role:"group","aria-labelledby":`${le}-${ue.label}`,children:[r.jsx("div",{className:"word-search-result-block__group-label caption-1b",id:`${le}-${ue.label}`,children:ue.label}),r.jsx("div",{className:"word-search-result-block__items",children:ue.items.map(xe=>{const V=l.includes(xe.id);return r.jsx("div",{onMouseEnter:ae=>{y(ae.currentTarget),k(xe.words??[])},onMouseLeave:B,children:r.jsx(ve,{htmlType:"button",size:"word",align:"grid",label:(xe.words??[]).map(ae=>ae.label),subLabel:(xe.words??[]).some(ae=>ae.subLabel)?(xe.words??[]).map(ae=>ae.subLabel):void 0,selected:V,onClick:()=>he(xe.id),minWidth:200})},xe.id)})})]},ue.label)):r.jsx("div",{className:"word-search-result-block__items",children:H.map(ue=>{const xe=l.includes(ue.id);return r.jsx("div",{onMouseEnter:V=>{y(V.currentTarget),k(ue.words??[])},onMouseLeave:B,children:r.jsx(ve,{htmlType:"button",size:"word",align:"grid",label:(ue.words??[]).map(V=>V.label),subLabel:(ue.words??[]).some(V=>V.subLabel)?(ue.words??[]).map(V=>V.subLabel):void 0,selected:xe,onClick:()=>he(ue.id),minWidth:200})},ue.id)})}),_&&w&&r.jsx(Rp,{words:_,anchorRect:w})]}),be>1&&r.jsx("div",{className:"word-search-result-block__pagination-bottom",children:r.jsx(Pn,{page:J,totalPages:be,onChange:K})}),(d||h)&&r.jsxs("div",{className:"word-search-result-block__actions",children:[d&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:b("common.resetSelection","\uC120\uD0DD \uCD08\uAE30\uD654"),selected:!1,disabled:l.length===0,onClick:l.length===0?void 0:d}),h&&r.jsx("div",{onClick:l.length===0?p:void 0,children:r.jsx(ve,{htmlType:"button",size:"56",type:"bar",variant:"main",label:b("wordTable.title","\uB2E8\uC5B4 \uD45C \uB9CC\uB4E4\uAE30"),disabled:l.length===0,onClick:l.length===0?void 0:h})})]})]})}var M6='.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-group{flex-shrink:0;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-group>.phoneme-select-block__cell{flex:1 1 auto;min-width:0;width:auto}.ihabdevteam-core-scope .phoneme-select-block__cell{flex-shrink:0;width:min(240px,100%)}.ihabdevteam-core-scope .phoneme-select-block__cell-circle{height:64px;width:100%}.ihabdevteam-core-scope .phoneme-select-block__cell-jamo-part{font-size:24px}}';se(M6);function $6(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 h1({sections:e,selectedList:t,count:a,onCountChange:o,maxCount:n=4,minCount:i=1,combinationSections:l,combinationSectionsForSlot:c,onSelect:u,placeholder:d="-",className:h,title:p,titleIcon:m,disc:v,showInfoButton:x=!0,onClearPhoneme:g,onSearch:b,onSearchEmpty:C,searchDisabled:f=!1,searchLabel:w,searchChecking:y=!1,pairMode:A=!1,sectionType:_="page",beforeSearchContent:k,beforeContent:B,afterContent:E,hideCountControl:S=!1,ordinal:D=!1}){const{t:z}=we.useTranslation(),T=s.useMemo(()=>z("wordPairs.infoNotes",{returnObjects:!0}),[z]),G=s.useMemo(()=>Array.from({length:n-i+1},(L,I)=>{const O=i+I;return{key:String(O),label:z("wordPairs.count",{n:O})}}),[z,n,i]),N=s.useMemo(()=>z("wordPairs.ordinals",{returnObjects:!0}),[z]),j=s.useCallback(L=>D?z("wordPairs.phonemeOrdinalLabel",{ordinal:N[L-1]??L}):a===1?z("wordPairs.phonemeSingleLabel","\uC74C\uC808"):z("wordPairs.phonemeN",{n:L}),[D,N,a,z]),P=s.useCallback(L=>D?z("wordPairs.phonemeContrastOrdinalLabel",{ordinal:N[L-1]??L}):a===1?z("wordPairs.phonemeContrastSingleLabel","\uB300\uB9BD \uC74C\uC808"):z("wordPairs.phonemeContrast",{n:L}),[D,N,a,z]),X=s.useCallback((L,I)=>I?r.jsxs(r.Fragment,{children:[L,r.jsx("span",{className:"phoneme-select-block__required",children:"*"})]}):L,[]),{anchorRect:K,toggleAt:M,close:W}=Xo(),R=s.useCallback(L=>o(Number(L)),[o]),U=ua("(max-width: 767px)"),F=s.useCallback(L=>$6(L,e).map(({label:I,value:O,displayLabel:Q})=>{const ce=!!O&&O!=="\uC5C6\uC74C";return r.jsxs("span",{className:Se("phoneme-select-block__cell-jamo-part",O?"":"phoneme-select-block__cell-jamo-part--empty",ce?"":"phoneme-select-block__cell-jamo-part--no-label"),children:[r.jsx("span",{className:`phoneme-select-block__cell-jamo-char h1${O==="\uC5C6\uC74C"?" phoneme-select-block__cell-jamo-char--excluded":""}`,children:O==="\uC5C6\uC74C"?"x":O||d}),ce&&r.jsx("span",{className:"phoneme-select-block__cell-jamo-label caption-2",children:Q??I})]},I)}),[e,d]),q=r.jsxs(r.Fragment,{children:[r.jsx("div",{"data-tooltip-ignore":!0,children:r.jsx(ve,{htmlType:"button",size:40,type:U?"dot":void 0,icon:"info",label:U?void 0:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),ariaLabel:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),className:K?"is-selected":void 0,"aria-expanded":!!K,"aria-haspopup":"dialog",onClick:L=>M(L.currentTarget)})}),K&&r.jsx(ko,{title:z("wordPairs.caution","\uC720\uC758\uC0AC\uD56D"),items:T,anchorRect:K,onClose:W})]});return r.jsxs(er,{type:_,title:p,icon:m,disc:v,action:x?q:void 0,className:Se("phoneme-select-block",h),children:[B,!S&&r.jsx("div",{className:"phoneme-select-block__controls",children:r.jsx(Ra,{options:G,value:String(a),onChange:R,size:40,ariaLabel:z("wordPairs.countLabel","\uC74C\uC18C \uAC1C\uC218"),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((L,I)=>{const O=t[I*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:F(O)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:j(I+1)})]},I)})}),r.jsx("span",{className:"phoneme-select-block__cell-vs h3",children:z("wordPairs.phonemeSelect.vs","\uB300")}),r.jsx("div",{className:"phoneme-select-block__cell-group",children:Array.from({length:a}).map((L,I)=>{const O=t[I*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:F(O)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:P(I+1)})]},I)})})]}):t.map((L,I)=>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:F(L)})}),r.jsx("span",{className:"phoneme-select-block__cell-index caption-1",children:j(I+1)})]},I))}),(l||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((L,I)=>{const O=t[I*2]??{};return r.jsx(Ya,{title:X(j(I+1),I===0),sections:c?c(O,I*2):l,selected:O,onSelect:u?.(I*2),align:"newline"},I)})}),r.jsx("div",{className:"phoneme-select-block__panel-group",children:Array.from({length:a}).map((L,I)=>{const O=t[I*2+1]??{};return r.jsx(Ya,{title:P(I+1),sections:c?c(O,I*2+1):l,selected:O,onSelect:u?.(I*2+1),align:"newline"},I)})})]}):t.map((L,I)=>r.jsx(Ya,{title:X(j(I+1),I===0),sections:c?c(L,I):l,selected:L,onSelect:u?.(I),align:"newline"},I))})}),k&&r.jsx("div",{className:"phoneme-select-block__before-search",children:k}),(g||b||y)&&(()=>{const L=t.every(I=>{const O=D8(I);return Object.entries(O).every(([Q,ce])=>!ce||Q==="coda"&&ce===em)});return r.jsxs("div",{className:"phoneme-select-block__search-row",onClick:L?C:void 0,children:[g&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:z("wordPairs.resetOptions","\uAC80\uC0C9 \uC635\uC158 \uCD08\uAE30\uD654"),selected:!1,disabled:L,onClick:L?void 0:g}),b?r.jsx(ve,{htmlType:"button",size:"56",type:"bar",variant:"main",icon:y?r.jsx("span",{className:"phoneme-select-block__spinner","aria-hidden":"true"}):void 0,label:w??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30"),disabled:L||f||y,onDisabledClick:y?()=>{}:void 0,"aria-busy":y||void 0,onClick:b}):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:w??z("wordSearch.searchButton","\uAC80\uC0C9\uD558\uAE30")})]}):null]})})(),E]})}function m1({title:e,sections:t,selected:a,onSelect:o,collapsible:n,defaultCollapsed:i,collapsed:l,onCollapsedChange:c,headerSummary:u,headerAction:d,className:h}){const{t:p}=we.useTranslation();return r.jsx(Ya,{className:h,title:e??p("wordSearch.filterTitle","\uB2E8\uC5B4 \uAC80\uC0C9 \uC124\uC815"),sections:t,selected:a,onSelect:o,collapsible:n,defaultCollapsed:i,collapsed:l,onCollapsedChange:c,headerSummary:u,headerAction:d,align:"inline"})}function b1({title:e,headerAction:t,sections:a,selected:o,onSelect:n,className:i}){const{t:l}=we.useTranslation();return a.length===0?null:r.jsx(Ya,{className:i,title:e??l("training.filter.phonemeGroup",{defaultValue:"\uD6C8\uB828 \uC74C\uC808"}),headerAction:t,sections:a,selected:o,onSelect:n,align:"newline"})}function g1({title:e,mode:t,onModeChange:a,matchMode:o,onMatchModeChange:n,positionCount:i,onPositionCountChange:l,inputMode:c,onInputModeChange:u,className:d}){const{t:h}=we.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=b=>h("wordPairs.count",{n:b}),v=[{label:p.searchMode,items:[p.include,p.pick,p.explicit],display:"segmented",labelAction:r.jsx(Mr,{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(Mr,{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(Mr,{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.")]})}],x={[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},g=(b,C)=>{C===p.searchMode?a(b===p.explicit?"explicit":b===p.pick?"pick":"include"):C===p.phonemeOrder?n(b===p.orderMatch?"ordered":"unordered"):C===p.count?l(b===m(2)?2:1):C===p.inputMode&&u(b===p.pronInput?"phoneme":"word")};return r.jsx(Ya,{className:d,title:e??h("wordPairs.filter.searchOptionsTitle","\uB300\uB9BD \uC124\uC815"),sections:v,selected:x,onSelect:g,align:"inline"})}var R6=".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}";se(R6);function f1(e){const{title:t,items:a,columns:o,resizeStorageKey:n,gridTemplateColumns:i,mobileGridTemplateColumns:l,searchPlaceholder:c,searchFn:u,defaultSortKey:d,defaultSortAsc:h=!0,selectedId:p,selectedIds:m,onSelect:v,onClose:x,pageSizeOptions:g=[10,25,50,100],initialPageSize:b,emptyText:C,noMatchText:f,countLabel:w,topContent:y,className:A=""}=e,{t:_}=we.useTranslation(),k=c??_("common.search","\uAC80\uC0C9"),B=C??_("common.emptyList","\uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4."),E=f??_("common.noMatches","\uB9DE\uB294 \uD56D\uBAA9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4"),[S,D]=s.useState(""),[z,T]=s.useState(d??o[0]?.key??""),[G,N]=s.useState(h),[j,P]=s.useState(String(b??g[0]??10)),[X,K]=s.useState(1);s.useEffect(()=>{K(1)},[S,j]);const M=u!==null,W=s.useCallback((ne,be)=>{if(!be)return!0;const J=be.toLowerCase();return o.some(H=>{const le=ne[H.key];return le==null?!1:String(le).toLowerCase().includes(J)})},[o]),R=u??W,U=s.useMemo(()=>{const ne=M?a.filter(be=>R(be,S)):a;return z?[...ne].sort((be,J)=>{const H=be[z],le=J[z];return H===le?0:Tu(H,le,G)}):ne},[a,S,z,G,M,R]),F=Math.max(1,Math.ceil(U.length/Number(j)));X>F&&K(F);const q=Math.min(X,F),L=U.slice((q-1)*Number(j),q*Number(j)),I=s.useCallback(ne=>{z===ne?N(be=>!be):(T(ne),N(!0)),K(1)},[z]),O=s.useMemo(()=>{if(typeof w=="function"){const ne=U.length,be=w(ne);if(typeof be=="string"){const J=be.lastIndexOf(String(ne));if(J>=0)return{prefix:be.slice(0,J),suffix:be.slice(J+String(ne).length)}}return{label:be}}if(typeof w=="string"&&w.includes("{n}")){const[ne,be]=w.split("{n}");return{prefix:ne,suffix:be}}return{prefix:_("common.totalCountPrefix","\uCD1D "),suffix:_("common.totalCountSuffix","\uAC1C")}},[w,U.length,_]),Q=s.useMemo(()=>o.map(ne=>({label:ne.label,onClick:ne.sortable!==!1?()=>I(ne.key):void 0,className:ne.className,sortDir:ne.sortable!==!1&&z===ne.key?G?"asc":"desc":null})),[o,z,G,I]),ce=s.useMemo(()=>g.map(ne=>({value:String(ne),label:_("common.pageSizeLabel",{n:ne})})),[g,_]);return r.jsxs(no,{className:`popup-list ${A}`,title:t,onClose:x,children:[y,"label"in O&&r.jsx("p",{className:"toolbar__count body-1",children:O.label}),r.jsx(Qi,{count:"label"in O?void 0:{value:U.length,prefix:O.prefix,suffix:O.suffix},search:M?{value:S,onChange:D,placeholder:k}:void 0,pageSize:{options:ce,value:j,onChange:P},pagination:{page:q,total:F,onChange:K}}),r.jsx(is,{size:"medium",gridTemplateColumns:i,mobileGridTemplateColumns:l,resizable:!0,resizeStorageKey:n,fields:Q,items:L,onRowClick:v,renderRow:ne=>{const be=m!=null?ne.id!=null&&m.has(ne.id):p!=null&&ne.id===p;return o.map(J=>({content:J.render?J.render(ne):ne[J.key]??"",className:Se(J.className,be&&"popup-list__row--selected")}))},empty:M&&S!==""&&a.length>0?E:B})]})}function Pp(e){const{title:t,message:a,topContent:o,details:n,children:i,confirmLabel:l,cancelLabel:c,hideCancel:u=!1,extraAction:d,confirmVariant:h="main",confirmDisabled:p=!1,onConfirm:m,closeOnConfirm:v=!0,onClose:x,inline:g,size:b="small",className:C,initialFocus:f="close"}=e,{t:w}=we.useTranslation(),y=s.useRef(null);s.useEffect(()=>{if(g||f==="close")return;const S=y.current?.closest(".popup-panel"),D=Array.from(S?.querySelectorAll(".popup-footer--buttons button")??[]),z=f==="confirm"?D[D.length-1]:u?void 0:D[d?1:0];z&&!z.disabled&&z.focus()},[]);const A=s.useRef(!1),[_,k]=s.useState(!1),B=S=>{let D=!1;return{close:()=>{D=!0,S()},didClose:()=>D}},E=async S=>{if(A.current)return;A.current=!0;const D=typeof document<"u"?document.activeElement:null;k(!0);let z=!1;try{z=await S()}catch(T){typeof console<"u"&&console.error(T)}finally{z||(A.current=!1,k(!1),requestAnimationFrame(()=>{const T=document.activeElement;(!T||T===document.body)&&D?.isConnected&&D.focus()}))}};return r.jsxs(no,{title:t,onClose:x,closeDisabled:_,inline:g,size:b,className:Se("confirm-popup",o!=null&&"confirm-popup--has-top",C),buttons:[...d?[{label:d.label,variant:d.variant??"default",disabled:d.disabled||_,onClick:async({closeWithAnimation:S})=>{await E(async()=>{const D=B(S);await d.onClick(D.close);const z=d.closeOnClick??!0;return z&&S(),z||D.didClose()})}}]:[],...u?[]:[{label:c??w("common.cancel","\uCDE8\uC18C"),variant:"default",disabled:_,onClick:({closeWithAnimation:S})=>S()}],{label:l??w("common.confirm","\uD655\uC778"),variant:h,disabled:p||_,onClick:async({closeWithAnimation:S})=>{await E(async()=>{const D=B(S);return await m(D.close),v&&S(),v||D.didClose()})}}],children:[o!=null&&r.jsx("div",{className:"confirm-popup__top",children:o}),n&&n.length>0&&r.jsx(Un,{children:n.map((S,D)=>r.jsx(Xa,{label:S.label,children:r.jsx("span",{className:"panel-row__text body-2",children:S.value})},D))}),r.jsx("p",{ref:y,className:"body-2 confirm-popup__message",children:a}),i]})}function v1(e,t,a={}){const{t:o}=we.useTranslation(),[n,i]=s.useState(!1),l=s.useRef(!1),c=s.useCallback(()=>{l.current=!0},[]),u=s.useCallback(()=>l.current?(l.current=!1,!0):e?(i(!0),!1):!0,[e]),d=n?r.jsx(Pp,{title:a.title??o("common.discardConfirm.title","\uC785\uB825\uC744 \uCDE8\uC18C\uD560\uAE4C\uC694?"),message:a.message??o("common.discardConfirm.body","\uC800\uC7A5\uD558\uC9C0 \uC54A\uC73C\uBA74 \uC9C0\uAE08\uAE4C\uC9C0 \uC785\uB825\uD55C \uB0B4\uC6A9\uC774 \uC0AC\uB77C\uC9D1\uB2C8\uB2E4."),confirmLabel:a.confirmLabel??o("common.discardConfirm.confirm","\uC785\uB825 \uCDE8\uC18C"),confirmVariant:"danger",onConfirm:()=>{i(!1),t()},onClose:()=>i(!1)}):null;return{beforeClose:u,discardPopup:d,allowClose:c}}var P6=".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}";se(P6);function x1({onApply:e,onCancel:t}){const{t:a}=we.useTranslation(),[o,n]=s.useState(""),[i,l]=s.useState(!1),[c,u]=s.useState(null),d=s.useRef(null),h=s.useId();s.useEffect(()=>{d.current?.focus()},[]);const p=s.useCallback(async x=>{const g=o.trim();if(g){l(!0),u(null);try{await e(g),x()}catch(b){u(mn(b)),l(!1),requestAnimationFrame(()=>d.current?.focus())}}},[o,e]),m=s.useCallback((x,g)=>{x.key==="Enter"&&!x.nativeEvent.isComposing&&p(g)},[p]),v=x=>{n(x.target.value),u(null)};return r.jsx(no,{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:x})=>x()},{label:a("coupons.applyButton","\uC801\uC6A9"),variant:"main",disabled:!o.trim()||i,onClick:({closeWithAnimation:x})=>{p(x)}}],children:({closeWithAnimation:x})=>r.jsxs(r.Fragment,{children:[r.jsx("input",{ref:d,className:"coupon-input-popup__input body-2","aria-label":a("coupons.input.label","\uCFE0\uD3F0 \uCF54\uB4DC"),"aria-invalid":c?!0:void 0,"aria-errormessage":c?h:void 0,"aria-describedby":c?h:void 0,placeholder:a("coupons.input.placeholder","\uCFE0\uD3F0 \uCF54\uB4DC \uC785\uB825"),value:o,onChange:v,onKeyDown:g=>m(g,x),disabled:i,autoComplete:"off",spellCheck:!1}),c&&r.jsx("p",{id:h,className:"coupon-input-popup__error caption-1",role:"alert",children:c})]})})}var z6=".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}";se(z6);const C1=["var(--color-main)","var(--color-sub)"],I6=2e3;function O6(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 js({active:e=!1,count:t=40,duration:a=2e3,strength:o=1,onComplete:n,trigger:i=0}){const l=s.useMemo(()=>{const g=Math.floor(t/2),b=t-g,C=(f,w)=>Array.from({length:f}).map((y,A)=>{const _=6+Math.random()*12,k=Math.round(Math.min(18,_*Math.min(1.5,1+o*.4))),B=C1[Math.floor(Math.random()*C1.length)],E=Math.random()*300,S=(360+Math.random()*260)*o*1.2,D=(w==="left"?-95+Math.random()*40:-85-Math.random()*40)*Math.PI/180,z=Math.cos(D)*S,T=Math.sin(D)*S*1.35,G=Math.random()*720-360,N=(1200+Math.random()*3e3)*Math.min(1.6,1+o*.3),j=Math.random()>.7?"50%":"3px";return{id:`${w}-${A}`,side:w,size:k,color:B,delay:E,vx:z,vy:T,angularVel:G,life:N,borderRadius:j}});return[...C(g,"left"),...C(b,"right")]},[t,o]),c=s.useRef(null),u=s.useRef({}),d=s.useRef(null),h=s.useRef(n);s.useEffect(()=>{h.current=n},[n]);const p=s.useRef(null),m=s.useRef(null),v=()=>{if(typeof document>"u")return null;let g=document.querySelector("[data-ihab-effect-root]");return g||(g=document.createElement("div"),g.className="app-effect",g.dataset.ihabEffectRoot="",g.style.position="fixed",g.style.inset="0",g.style.pointerEvents="none",g.style.zIndex="99998",document.body.appendChild(g)),g};if(typeof document<"u"&&m.current==null&&(m.current=v()),s.useEffect(()=>{if(!e)return;if(typeof window<"u"&&window.matchMedia?.("(prefers-reduced-motion: reduce)").matches){const W=setTimeout(()=>h.current?.(),0);return()=>clearTimeout(W)}const g=1200,b=performance.now(),C=m.current&&m.current!==document.body?m.current.getBoundingClientRect():null,f=Math.max(60,(window.innerHeight||800)*.05),w=W=>Math.max(40,(W||window.innerWidth)*.02),y=C?.width||window.innerWidth||375,A=C?.height||window.innerHeight||812,_=W=>{const R=[...W].sort((U,F)=>U-F);return R[Math.floor(R.length/2)]||1},k=_(l.map(W=>Math.abs(W.vy))),B=_(l.map(W=>Math.abs(W.vx))),E=Math.sqrt(2*g*(A*.72+f))/k,S=k*E/g,D=y*.5/(B*S),z=(W,R,U)=>Math.min(U,Math.max(R,W)),T=z(E,.8,2.4),G=z(D,.7,2.2),N=a>0?a/I6:1,j=l.map(W=>({...W,life:W.life*N,vx:W.vx*G,vy:W.vy*T,startTime:b+W.delay,ended:!1})),P=C?{x:C.left-w(C.width),y:C.top+C.height+f}:{x:-w(window.innerWidth),y:window.innerHeight+f},X=C?{x:C.left+C.width+w(C.width),y:C.top+C.height+f}:{x:window.innerWidth+w(window.innerWidth),y:window.innerHeight+f},K=W=>{let R=!1;for(const U of j){const F=u.current[U.id];if(!F||!F)continue;if(W<U.startTime){F.style.display="none",R=!0;continue}if(!U._inited){const H=U.side==="left"?P.x:X.x,le=U.side==="left"?P.y:X.y;F.style.left=`${H}px`,F.style.top=`${le}px`,F.style.transform="translate3d(0px, 0px, 0)",F.style.display="block",F.style.zIndex="100000",typeof U.color=="string"&&U.color.startsWith("var(")&&(F.style.background=O6(F,U.color)??"#FF0060"),U._inited=!0}const q=(W-U.startTime)/1e3;if(q<0)continue;const L=U.life/1e3;if(q>=L){F.style.opacity="0",F.style.display="none",U.ended=!0;continue}R=!0;const I=U.side==="left"?P.x:X.x,O=U.side==="left"?P.y:X.y,Q=I+U.vx*q,ce=O+U.vy*q+.5*g*q*q,ne=(U.angularVel||0)*q,be=Q-I,J=ce-O;F.style.transform=`translate3d(${be}px, ${J}px, 0) rotate(${ne}deg)`,F.style.opacity=`${Math.max(0,1-q/L)}`}R?d.current=requestAnimationFrame(K):h.current?.()};d.current=requestAnimationFrame(K);const M=setTimeout(()=>{try{if((m.current?m.current.querySelectorAll(".confetti"):document.querySelectorAll(".confetti")).length===0&&!document.querySelector(".party-container")){const W=document.createElement("div");W.className="party-container",W.style.position="fixed",W.style.inset="0",W.style.pointerEvents="none",W.style.overflow="visible",W.style.zIndex="2147483647";for(const R of l){const U=document.createElement("span");U.className=`confetti confetti--${R.side}`,U.setAttribute("aria-hidden","true"),U.style.display="none",U.style.position="fixed",U.style.left="0px",U.style.top="0px",U.style.width=`${R.size}px`,U.style.height=`${Math.max(4,R.size*.6)}px`,U.style.background=R.color,U.style.borderRadius=R.borderRadius,U.style.transform="translate3d(0,0,0)",U.style.opacity="0",W.appendChild(U),u.current[R.id]=U}(document.body||m.current).appendChild(W),p.current=W}}catch{}},300);return()=>{if(d.current&&cancelAnimationFrame(d.current),clearTimeout(M),p.current){try{p.current.remove()}catch{}p.current=null}}},[e,a,i,l]),!e)return null;const x=r.jsx("div",{className:"party-container",ref:c,children:l.map(g=>r.jsx("span",{"aria-hidden":!0,ref:b=>{u.current[g.id]=b},className:`confetti confetti--${g.side}`,style:{width:`${g.size}px`,height:`${Math.max(4,g.size*.6)}px`,background:g.color,borderRadius:g.borderRadius}},`${g.id}-${i}`))});return typeof document<"u"?ma.createPortal(x,m.current||document.body):x}const zp=e=>typeof e=="number"&&Number.isFinite(e)&&e>0?e:void 0;function y1({trigger:e=0,active:t=!1}){const[a,o]=s.useState(null);s.useEffect(()=>{if(typeof window>"u")return;const i=l=>{const c=l.detail??{};o(u=>({n:(u?.n??0)+1,count:zp(c.count),strength:zp(c.strength),duration:zp(c.duration)}))};return window.addEventListener("party:trigger",i),()=>window.removeEventListener("party:trigger",i)},[]);const n=s.useCallback(()=>o(null),[]);return r.jsxs(r.Fragment,{children:[r.jsx(js,{active:t,trigger:e}),a&&r.jsx(js,{active:!0,trigger:a.n,count:a.count,strength:a.strength,duration:a.duration,onComplete:n})]})}var F6=".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:center;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%)}";se(F6);function _1({title:e,sub:t,rightAction:a,titleAction:o,badge:n,badgeVariant:i="default",documentTitle:l,onBack:c,backLabel:u,wrap:d=!1}){const{t:h}=we.useTranslation();Du(typeof e=="string"?e:l??null);const p=u??h("common.back","\uB4A4\uB85C");return r.jsxs("div",{className:d?"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(ve,{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(Lt,{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 w1(e){return e??""}const k1=s.createContext({words:[],loading:!1});function B1(){return s.useContext(k1)}function A1({words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u,children:d}){const h=s.useMemo(()=>({words:e,loading:t,error:a,statusMessage:o,localVersion:n,remoteVersion:i,progress:l,clearAndRefetch:c,checkRemoteVersion:u}),[e,t,a,o,n,i,l,c,u]);return r.jsx(k1.Provider,{value:h,children:d})}var W6=".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)}";se(W6);function S1({items:e,actions:t,columns:a,flat:o=!1,className:n,style:i}){const l=a??e.length;return r.jsx("section",{className:Se("summary-strip",o&&"summary-strip--flat",n),style:{"--summary-strip-cols":String(l),...i},children:r.jsxs("div",{className:"summary-strip__row",children:[r.jsx("div",{className:"summary-strip__items",children:e.map((c,u)=>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})]},u))}),t&&r.jsx("div",{className:"summary-strip__actions",children:t})]})})}var G6='.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}}';se(G6);const H6=(e,t)=>`${e} / ${t}`;function E1({blocks:e,sectionTitles:t,logo:a,footer:o,pageLabel:n=H6,pageWidth:i,pageHeight:l,margin:c,className:u,style:d}){const{t:h}=we.useTranslation(),p=s.useRef(null),m=s.useRef(null),v=s.useRef(null),x=s.useRef(null),[g,b]=s.useState(null),[C,f]=s.useState(!1);s.useEffect(()=>{const N=p.current;if(!N)return;const j=()=>f(N.scrollWidth>N.clientWidth+1);if(j(),typeof ResizeObserver>"u")return;const P=new ResizeObserver(j);return P.observe(N),()=>P.disconnect()},[g]);const w=e.map(N=>`${N.id}\0${N.section??""}\0${N.group??""}`).join(""),y=g&&g.shape===w?g.pages:null,[A,_]=s.useState(0);s.useEffect(()=>{const N=x.current;if(!N||typeof ResizeObserver>"u")return;const j=new ResizeObserver(()=>_(N.offsetHeight));return j.observe(N),()=>j.disconnect()},[]);const[k,B]=s.useState(0);s.useEffect(()=>{const N=m.current;if(!N||typeof ResizeObserver>"u")return;let j=null;const P=typeof requestAnimationFrame=="function"?M=>requestAnimationFrame(M):M=>setTimeout(M,16),X=typeof cancelAnimationFrame=="function"?cancelAnimationFrame:M=>clearTimeout(M),K=new ResizeObserver(()=>{j==null&&(j=P(()=>{j=null,B(M=>M+1)}))});return Array.from(N.children).forEach(M=>K.observe(M)),()=>{K.disconnect(),j!=null&&X(j)}},[w]),s.useLayoutEffect(()=>{const N=m.current,j=x.current;if(!N||!j)return;const P=L=>L.getBoundingClientRect().height||L.offsetHeight,X=new Map;v.current?.querySelectorAll("[data-chrome-section]").forEach(L=>{X.set(L.dataset.chromeSection??"",P(L))});const K=L=>P(j)-(X.get(L??"")??0),M=Array.from(N.children).map(L=>P(L)),W=[];e.forEach((L,I)=>{const O=W[W.length-1],Q=O?e[O[0]]:void 0;Q&&L.group!=null&&Q.group===L.group&&Q.section===L.section?O.push(I):W.push([I])});const R=[];let U=[],F=0;const q=()=>{U.length&&R.push(U),U=[],F=0};W.forEach(L=>{const I=L.reduce((Q,ce)=>Q+M[ce],0),O=K(e[L[0]].section);U.length&&e[U[0]].section!==e[L[0]].section&&q(),I>O?L.forEach(Q=>{U.length&&F+M[Q]>O+.01&&q(),U.push(Q),F+=M[Q]}):(U.length&&F+I>O+.01&&q(),L.forEach(Q=>U.push(Q)),F+=I)}),q(),b(L=>L&&L.shape===w&&JSON.stringify(L.pages)===JSON.stringify(R)?L:{shape:w,pages:R})},[w,A,i,l,c,k]);const E=Cd,S=E,D=o??r.jsxs(r.Fragment,{children:[r.jsx("img",{src:S,alt:"IHAB",className:"report-doc__logo"}),"\xA9 IHAB, Inc. All rights reserved."]}),z=(N,j,P)=>({header:r.jsxs("div",{className:"report-doc__header",children:[r.jsx("h2",{className:"report-doc__title h3b",children:P!=null&&t?.[P]||null}),a]}),footer:r.jsxs("div",{className:"report-doc__footer caption-1",children:[r.jsx("span",{className:"report-doc__footer-left",children:D}),r.jsx("span",{className:"report-doc__page-no",children:n(N,j)})]})}),T=Array.from(new Set(e.map(N=>N.section??""))),G={...i?{"--report-page-w":i}:null,...l?{"--report-page-h":l}:null,...c?{"--report-margin":c}:null,...d};return r.jsxs("div",{ref:p,className:Se("report-doc",u),style:G,tabIndex:C?0:void 0,role:C?"group":void 0,"aria-label":C?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:x,className:"report-doc__ruler"}),r.jsx("div",{ref:v,children:T.map(N=>{const j=z(1,1,N||void 0);return r.jsxs("div",{"data-chrome-section":N,children:[j.header,j.footer]},N)})}),r.jsx("div",{ref:m,className:"report-doc__measure-blocks",children:e.map(N=>r.jsx("div",{children:N.content},N.id))})]}),y&&r.jsx("div",{className:"report-doc__pages",children:y.map((N,j)=>{const{header:P,footer:X}=z(j+1,y.length,e[N[0]].section);return r.jsxs("section",{className:"report-doc__page",children:[P,N.map(K=>r.jsx("div",{children:e[K].content},e[K].id)),X]},j)})})]})}var V6=".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}";se(V6);function D1({title:e,fields:t,columns:a=4,className:o,style:n}){return r.jsxs("div",{className:Se("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,l)=>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})]},l))})]})}const nr=new Map;let Ts=null;const U6=12;function q6(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 Ls(){const e=new Map;for(const t of nr.keys()){if(!t.isConnected)continue;const a=q6(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+U6)}}}function Y6(e){return typeof window>"u"?()=>{}:(nr.set(e,(nr.get(e)??0)+1),nr.get(e)===1&&typeof ResizeObserver<"u"&&(Ts??(Ts=new ResizeObserver(()=>Ls())),Ts.observe(e)),Ls(),()=>{const t=(nr.get(e)??1)-1;if(t>0){nr.set(e,t),Ls();return}nr.delete(e),Ts?.unobserve(e),e.style.removeProperty("--update-alert-stack-offset"),Ls()})}var K6=".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%}";se(K6);function N1({title:e,message:t,actionLabel:a,onAction:o,icon:n,onClose:i,className:l=""}){const{t:c}=we.useTranslation(),u=a??c("common.update","\uC5C5\uB370\uC774\uD2B8"),d=s.useRef(null),h=s.useRef(!1);return s.useLayoutEffect(()=>{const p=d.current,m=p?.parentElement?.closest(".update-alert-stack")??p,v=m?Y6(m):null;return()=>{v?.(),h.current&&p&&p.contains(document.activeElement)&&Li(p)}},[]),r.jsxs("div",{ref:d,className:Se("update-alert",l),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(eh,{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(ve,{htmlType:"button",size:32,variant:"main",shape:"pill",className:"update-alert__action",onClick:o,children:u})]})}var X6=".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;margin-block:-6px;max-width:120px;min-height:24px;overflow:hidden;padding:0;padding-block:6px;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-lightGray);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}.ihabdevteam-core-scope .training-card__publisher--static{cursor:default}.ihabdevteam-core-scope .training-card__publisher--static:hover{color:var(--color-gray);text-decoration:none}";se(X6);function j1({title:e,titleLevel:t=3,description:a,topActions:o,children:n,footerLeft:i,footerRight:l,ariaLabel:c,onClick:u,draggable:d,onDragStart:h,onDragEnd:p,className:m}){const v=t?`h${t}`:"div",x=i!=null||l!=null,g=n!=null&&n!==!1,b=s.useCallback(C=>{u&&C.target===C.currentTarget&&(C.key==="Enter"||C.key===" ")&&(C.preventDefault(),u())},[u]);return r.jsxs("div",{className:Se("training-card",u?"training-card--clickable":"",m),onClick:u,onKeyDown:u?b:void 0,role:u?"button":void 0,"aria-label":u?c??(typeof e=="string"?e:void 0):void 0,tabIndex:u?0:void 0,draggable:d,onDragStart:h,onDragEnd:p,children:[r.jsxs("div",{className:"training-card__header",children:[r.jsxs("div",{className:"training-card__title-row",children:[typeof e=="string"?r.jsx(v,{className:"training-card__title h4",children:e}):e,o!=null&&r.jsx("div",{className:"training-card__top-actions",onClick:C=>C.stopPropagation(),children:o})]}),a!=null?typeof a=="string"?r.jsx("p",{className:"training-card__description body-3",children:a}):a:r.jsx("p",{className:"training-card__description body-3","aria-hidden":"true",children:" "})]}),g&&r.jsx("div",{className:"training-card__body",children:n}),x&&r.jsxs("div",{className:"training-card__footer",children:[i!=null&&r.jsx("div",{className:"training-card__footer-left",children:i}),l!=null&&r.jsx("div",{className:"training-card__meta",children:l})]})]})}var Z6=".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}";se(Z6);function T1({title:e,titleLevel:t=3,count:a,collapsed:o=!1,onToggle:n,beforeSort:i,sort:l,actions:c,empty:u=!1,emptyContent:d,dragOver:h=!1,onDragOver:p,onDragLeave:m,onDrop:v,children:x,className:g}){const{t:b}=we.useTranslation(),C=s.useId(),f=t?`h${t}`:"span",w=n!=null,y=Se("training-card-group",h&&"training-card-group--dragover",o&&"training-card-group--collapsed",w&&"training-card-group--collapsible",g);return r.jsxs("div",{className:y,onDragOver:p,onDragLeave:m,onDrop:v,role:typeof e=="string"&&e?"group":void 0,"aria-labelledby":typeof e=="string"&&e?C:void 0,children:[r.jsxs("header",{className:"training-card-group__header",children:[w&&r.jsx(ve,{htmlType:"button",size:40,type:"dot",variant:"transparent-gray",useBorder:!1,icon:o?"chevron-right":"chevron-down",ariaLabel:typeof e=="string"&&e?o?b("common.expandFor",{name:e}):b("common.collapseFor",{name:e}):o?b("common.expand","\uD3BC\uCE58\uAE30"):b("common.collapse","\uC811\uAE30"),className:"training-card-group__chevron","aria-expanded":!o,onClick:n}),typeof e=="string"?r.jsx(f,{id:C,className:"training-card-group__title h5b",children:e}):e,a!==void 0&&r.jsx("span",{className:"training-card-group__count body-3b",children:a}),(i!=null||l||c!=null)&&r.jsxs("span",{className:"training-card-group__actions",onClick:A=>A.stopPropagation(),children:[i,l&&r.jsx(xa,{size:40,options:l.options,value:l.value,placeholder:l.placeholder,onChange:l.onChange,ariaLabel:typeof e=="string"&&e?b("common.sortFor",{name:e}):void 0}),c]})]}),!o&&(u?r.jsx("div",{className:"training-card-group__empty body-3",children:d}):r.jsx("div",{className:"training-card-group__grid",children:x}))]})}var J6=".ihabdevteam-core-scope .word-table-block__meta{background:transparent}.ihabdevteam-core-scope .word-table-block__table-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center}.ihabdevteam-core-scope .word-table-block__actions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:space-between}.ihabdevteam-core-scope .word-table-block__actions-right{margin-left:auto}.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-right{margin-left:0}.ihabdevteam-core-scope .word-table-block__actions .button{min-width:0;width:100%}.ihabdevteam-core-scope .word-table-block__table-actions{display:grid;grid-template-columns:repeat(2,1fr)}.ihabdevteam-core-scope .word-table-block__table-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}}";se(J6);const Q6="speechear:saved_word_tables";function eD(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 tD(){try{const e=localStorage.getItem(Q6);if(!e)return[];const t=JSON.parse(e);return Array.isArray(t)?t.filter(eD):[]}catch{return[]}}function L1(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 Ip(e){return e.map(t=>t.homonum!=null?`${t.word}#${t.homonum}`:t.word).join("|")}function aD(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 M1({title:e,titleIcon:t,disc:a,filterTitle:o,filterCollapsible:n,filterDefaultCollapsed:i,filterCollapsed:l,onFilterCollapsedChange:c,filterHeaderSummary:u,brand:d,code:h,items:p,onSaveComplete:m,onLoad:v,onRemoveItem:x,onReset:g,resetLabel:b,saveButtonLabel:C,secondarySaveButtonLabel:f,onReorder:w,showCellCount:y,onAddItem:A,className:_,renderSavePopup:k,renderWordSearch:B,hideControls:E,saveOnly:S,tableName:D,nameValue:z,onNameChange:T,descriptionValue:G,onDescriptionChange:N,namePlaceholder:j,descriptionPlaceholder:P,existingNames:X,editingName:K,onCancel:M,initialItemsPerPage:W,renderCellAction:R,actionsLeftExtra:U}){const{t:F}=we.useTranslation(),q=b??F("wordPrint.clearAllSelection","\uBAA8\uB450 \uC120\uD0DD \uD574\uC81C"),L=p===void 0,I=!!T,[O,Q]=s.useState([]),ce=(z??"").trim(),ne=ce||(j??"").trim(),be=(G??"").trim()||(P??"").trim(),J=(X??[]).map(oe=>oe.trim().toLowerCase()),H=[K?.trim().toLowerCase(),...O].filter(oe=>!!oe),le=[...J];for(const oe of H){const _e=le.indexOf(oe);_e!==-1&&le.splice(_e,1)}const Y=ce!==""&&le.includes(ce.toLowerCase()),[Z,he]=s.useState(Array(4).fill(null)),[je,ye]=s.useState(4),[me,ue]=s.useState(null),xe=Z.slice(0,je),V=!!d?.show,[ae,ge]=s.useState(!0),[ke,Ae]=s.useState(!0),ze=d&&{...d,top:ae,bottom:ke},[Fe,ut]=s.useState("landscape"),[it,et]=s.useState(["image","word","standardPron"]),[gt,Ee]=s.useState("show"),[Ve,Be]=s.useState(!0),[Ue,De]=s.useState(!0),Pe=s.useRef(null),Me=s.useRef([]),[Qe,yt]=s.useState(W==="all"?Number.POSITIVE_INFINITY:W??8),[nt,tt]=s.useState("right"),[Et,vt]=s.useState(!1),[Dt,At]=s.useState(!1),{toastMessage:_t,toastType:Xe,showWarning:ie,clearToast:Te}=Hi("warning"),at=s.useCallback(()=>ue(null),[ue]);A&&!L&&!y&&Pt("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[qe,lt]=s.useState(()=>Math.max(p?.length??1,1)),Re=L?je:y?Math.max(qe,p?.length??1,1):Math.max(p?.length??0,1),{width:ht,height:Ie}=tr[Fe],ct=!L&&!y,xt=p?.length??0,Nt=Math.min(Qe,Math.max(xt,1)),Je=ct?Nt:Re,dt=ct?M0(p??[],Je):null,pt=!!dt&&dt.length>1,ft=L?xe.some(oe=>oe!==null&&oe.length>1):(p??[]).some(oe=>(oe.words??[]).length>1),jt=D?.trim()||`${vi(wa())} ${ft?F("wordTable.printFileNamePair","\uB300\uB9BD\uC30D\uD45C"):F("wordTable.printFileNameSingle","\uB2E8\uC5B4\uD45C")}`,ta=s.useCallback(()=>pt?Me.current.filter(oe=>oe!==null):Pe.current?[Pe.current]:[],[pt]),{print:pa,openNewWindow:Pa,downloadHtml:lo}=ms({getElements:ta,paperW:ht,paperH:Ie,fileName:jt,onPopupBlocked:()=>{ie(F("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."))}}),jo=oe=>{ye(oe),he(_e=>_e.length>=oe?_e:[..._e,...Array(oe-_e.length).fill(null)]),ue(null)},To=oe=>{he(_e=>{const Oe=[..._e];return Oe[oe]=null,Oe}),me===oe&&ue(null)},aa=oe=>{if(me===null)return;const _e=me;he(He=>{const rt=[...He];return rt[_e]=oe.length>0?oe:null,rt});const Oe=xe.findIndex((He,rt)=>rt>_e&&He===null);ue(Oe!==-1?Oe:null)},Ba=L?xe.some(oe=>oe?.some(_e=>!!_e.colloquialPronunciation)):(p??[]).some(oe=>(oe.words??[]).some(_e=>!!_e.colloquialLabel)),oa=s.useMemo(()=>go()?L?Z.slice(0,je).flatMap(oe=>(oe??[]).map(_e=>[_e.word,_e.homonum])):(p??[]).flatMap(oe=>(oe.words??[]).map(_e=>[_e.label,_e.homonum])):[],[L,Z,je,p]),[Gt,co]=s.useState(!1);s.useEffect(()=>{if(oa.length===0)return;let oe=!1;return Promise.all(oa.map(([_e,Oe])=>ei(_e,Oe))).then(_e=>{oe||co(_e.some(Boolean))},()=>{}),()=>{oe=!0}},[oa]);const ya=oa.length>0&&Gt,uo=s.useMemo(()=>[...L||y?[{label:F("wordTable.filter.columns","\uCE78 \uC218"),items:XS.map(oe=>({value:`${oe}\uCE78`,displayLabel:F("wordTable.filter.column",{count:oe})})),display:"segmented"}]:[],...ct&&(p?.length??0)>0?[q0(F,{hasPairs:ft,itemCount:xt})]:[],...pt?[ZS(F)]:[]],[F,L,y,ct,p?.length,ft,xt,pt]),po={...L||y?{[F("wordTable.filter.columns","\uCE78 \uC218")]:`${Re}\uCE78`}:{},...ct&&(p?.length??0)>0?{[F(ft?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")]:`${Nt}\uAC1C`}:{},...pt?{[F("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")]:nt}:{}},Za=(oe,_e)=>{_e===F("wordTable.filter.columns","\uCE78 \uC218")?L?jo(parseInt(oe)):lt(parseInt(oe)):_e===F(ft?"wordTable.filter.itemsPerPagePair":"wordTable.filter.itemsPerPageWord")?yt(Y0(parseInt(oe),xt)):_e===F("wordTable.filter.pageNumber","\uD398\uC774\uC9C0 \uBC88\uD638")&&tt(K0(oe))},ra=L?aD(xe.filter(oe=>oe!==null&&oe.length>0).map(oe=>({id:Ip(oe),words:oe.map(L1)}))):p??[],Jt=()=>{L&&he(oe=>oe.length>je?oe.slice(0,je):oe)},Ht=(oe=!1)=>{if(At(oe),I&&m){const _e=ne.trim().toLowerCase();_e&&Q(Oe=>Oe.includes(_e)?Oe:[...Oe,_e]),m(ne,ra,be||void 0,oe),Jt();return}if(S&&m){m("",ra,void 0,oe),Jt();return}if(m){vt(!0);return}lo()},[Aa,Qt]=s.useState(!1),[ha,Ft]=s.useState(""),na=ha.trim(),de=na!==""&&J.includes(na.toLowerCase()),Ne=()=>{Ft(ne?F("wordTable.save.copyName",{name:ne,defaultValue:"{{name}} (\uBCF5\uC0AC)"}):""),Qt(!0)},$e=()=>{!na||de||!m||(m(na,ra,be||void 0,!0),Jt(),Qt(!1))},Ke=ra.length===0,Ge=Ke||I&&(ne===""||Y),ee=()=>{if(Ke){ie(F("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."));return}if(I&&ne===""){ie(F("wordTable.save.nameRequired","\uD45C \uC774\uB984\uC744 \uC785\uB825\uD574 \uC8FC\uC138\uC694."));return}I&&Y&&ie(F("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."))},pe=r.jsx(ar,{items:ra,orientation:Fe,contentTypes:it,cutLine:gt,showOutline:Ve,showDivLine:Ue,count:Re});return r.jsxs(r.Fragment,{children:[r.jsxs(er,{type:"page",icon:t,title:e,disc:a,className:Se("word-table-block",_),children:[Aa&&r.jsx(no,{size:"small",title:f??F("wordTable.saveAsNewButton","\uB2E4\uB978 \uC774\uB984\uC73C\uB85C \uC800\uC7A5"),onClose:()=>Qt(!1),footer:({closeWithAnimation:oe})=>r.jsxs(r.Fragment,{children:[r.jsx(ve,{htmlType:"button",size:48,type:"bar",label:F("common.cancel","\uCDE8\uC18C"),onClick:oe}),r.jsx(ve,{htmlType:"button",size:48,type:"bar",variant:"main",label:F("common.save","\uC800\uC7A5"),disabled:!na||de,onClick:$e})]}),children:r.jsx(So,{label:F("wordTable.save.nameLabel","\uC774\uB984"),value:ha,onChange:Ft,placeholder:F("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:$e,error:de?F("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0})}),Et&&m&&k?.({defaultName:typeof e=="string"?e:F("wordTable.defaultName","\uB2E8\uC5B4 \uD45C"),preview:pe,previewW:ht,previewH:Ie,items:ra,existingNames:tD().map(oe=>oe.name),saveAsNew:Dt,onSave:(oe,_e)=>{m(oe,ra,_e,Dt),Jt(),vt(!1)},onCancel:()=>vt(!1)}),(L||A)&&me!==null&&B?.({cellIndex:me,onConfirm:L?aa:oe=>{if(A){const _e=oe[0];if(_e){const Oe=new Set((p??[]).map(rt=>rt.id));let He=Ip([_e]);for(let rt=2;Oe.has(He);rt++)He=`${Ip([_e])}~${rt}`;A({id:He,words:[L1(_e)]})}}ue(null)},onClose:at}),!E&&r.jsx(ps,{title:o,collapsible:n,defaultCollapsed:i,collapsed:l,onCollapsedChange:c,headerSummary:u,hasImage:ya,hasColloquial:Ba,contentTypes:it,orientation:Fe,showOutline:Ve,cutLine:gt,showDivLine:Ue,setters:{setContentTypes:et,setOrientation:ut,setShowOutline:Be,setCutLine:Ee,setShowDivLine:De,setShowTopInfo:ge,setShowBottomInfo:Ae},showCutLine:(ct?Je:Re)>1,showDivLine2:ft,middleSections:uo,extraSelected:po,onExtraSelect:Za,showPaperBands:V,showTopInfo:ae,showBottomInfo:ke}),pt&&dt?r.jsx("div",{className:"word-table-block__pages",children:dt.map((oe,_e)=>r.jsx(ar,{orientation:Fe,contentTypes:it,cutLine:gt,showOutline:Ve,showDivLine:Ue,count:Je,items:oe,onRemoveItem:x,onReorder:w&&((Oe,He)=>w(Oe+_e*Je,He+_e*Je)),renderCellAction:R&&((Oe,He)=>R(Oe+_e*Je,He)),brand:ze,code:h,contentRef:Oe=>{Me.current[_e]=Oe},pageNumber:{current:_e+1,total:dt.length},pageNumberPosition:nt},_e))}):r.jsx(ar,{orientation:Fe,contentTypes:it,cutLine:gt,showOutline:Ve,showDivLine:Ue,count:Re,items:L?void 0:p??[],editCells:L?xe:void 0,activeCell:me,onActivateCell:L||A?ue:void 0,onRemoveCell:L?To:void 0,onRemoveItem:L?void 0:x,onReorder:L?void 0:w,renderCellAction:L?void 0:R,brand:ze,code:h,showFillerAdd:!!A,contentRef:Pe}),!E&&!S&&(g||U!=null)&&r.jsxs("div",{className:"word-table-block__table-actions",children:[g&&r.jsx(ve,{htmlType:"button",size:48,type:"bar",label:q,onClick:g}),U]}),I&&!E&&r.jsxs(Un,{size:"medium",labelWidth:64,useBorder:!1,useRowBorder:!1,className:"word-table-block__meta",children:[r.jsx(Xa,{variant:"custom",label:F("wordTable.save.nameLabel","\uC774\uB984"),required:!0,align:"vertical",useFullWidth:!0,children:r.jsx(So,{required:!0,value:z??"",onChange:T,placeholder:j?j+F("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):F("wordTable.save.placeholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC81C\uBAA9\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:F("wordTable.save.nameLabel","\uC774\uB984"),maxLength:40,size:48,fullWidth:!0,error:Y?F("wordTable.save.duplicateName","\uC774\uBBF8 \uC0AC\uC6A9 \uC911\uC778 \uC774\uB984\uC785\uB2C8\uB2E4."):void 0,onKeyDown:oe=>{(oe.key==="Tab"&&!oe.shiftKey||oe.key===" ")&&!(z??"").trim()&&(j??"").trim()&&(oe.preventDefault(),T?.(j??""))}})}),r.jsx(Xa,{variant:"custom",label:F("wordTable.save.descriptionLabel","\uC124\uBA85"),align:"vertical",useFullWidth:!0,children:r.jsx(So,{value:G??"",onChange:N,placeholder:P?P+F("wordTable.save.autoFillHint"," (Tab \uB610\uB294 space \uC785\uB825\uC2DC \uC790\uB3D9 \uC785\uB825)"):F("wordTable.save.descriptionPlaceholder","\uC774 \uB2E8\uC5B4\uD45C\uC5D0 \uB300\uD55C \uC124\uBA85\uC744 \uC785\uB825\uD558\uC138\uC694."),ariaLabel:F("wordTable.save.descriptionLabel","\uC124\uBA85"),maxLength:200,multiline:!0,rows:2,fullWidth:!0,onKeyDown:oe=>{(oe.key==="Tab"&&!oe.shiftKey||oe.key===" ")&&!(G??"").trim()&&(P??"").trim()&&(oe.preventDefault(),N?.(P??""))}})})]})]}),!E&&r.jsxs("div",{className:"word-table-block__actions",children:[r.jsxs("div",{className:"word-table-block__actions-left",children:[!S&&v&&r.jsx(ve,{htmlType:"button",size:40,type:"bar",label:F("wordTable.load","\uBD88\uB7EC\uC624\uAE30"),onClick:v}),!S&&r.jsx(ve,{htmlType:"button",size:40,type:"bar",label:F("wordTable.openNewWindow","\uC0C8 \uCC3D\uC73C\uB85C \uBCF4\uAE30"),onClick:Pa})]}),r.jsxs("div",{className:"word-table-block__actions-right",children:[M&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:F("common.cancel","\uCDE8\uC18C"),onClick:M}),!S&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:F("wordTable.print","\uC778\uC1C4\uD558\uAE30"),onClick:pa}),f&&r.jsx(ve,{htmlType:"button",size:"56",type:"bar",label:f,onClick:()=>I?Ne():Ht(!0),disabled:Ke,onDisabledClick:()=>{ie(F("wordTable.emptyItems","\uB2E8\uC5B4\uB97C 1\uAC1C \uC774\uC0C1 \uCD94\uAC00\uD574\uC8FC\uC138\uC694."))}}),r.jsx(ve,{htmlType:"button",size:"56",type:"bar",variant:"main",label:C??F("wordTable.saveButton","\uC800\uC7A5\uD558\uAE30"),onClick:()=>Ht(!1),disabled:Ge,onDisabledClick:ee})]})]}),r.jsx(Qo,{message:_t,type:Xe,onClose:Te})]})}var oD=".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-darkGray)}.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%}";se(oD);function Op({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:Se("word-table-thumb",t),style:{gridTemplateColumns:`repeat(${o}, 1fr)`},children:Array.from({length:i},(l,c)=>{const u=e[c];return u?r.jsx("div",{className:"word-table-thumb__cell",children:(u.words?.length?u.words:[{label:u.id}]).map((d,h)=>r.jsxs(s.Fragment,{children:[h>0&&r.jsx("span",{className:"word-table-thumb__divider"}),r.jsx("span",{className:"word-table-thumb__word body-3",children:d.label})]},h))},c):r.jsx("div",{className:"word-table-thumb__cell word-table-thumb__cell--empty"},c)})})}var rD=".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:280px}.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-lightGray);display:-webkit-box;overflow:hidden}.ihabdevteam-core-scope .word-table-button__meta{color:var(--color-gray)}.ihabdevteam-core-scope .word-table-button__meta-left{align-items:center;display:flex;gap:6px;min-width:0}.ihabdevteam-core-scope .word-table-button__meta-right{align-items:center;display:flex;flex-shrink:0;gap:8px;min-width:0}.ihabdevteam-core-scope .word-table-button__code{color:var(--color-gray);flex-shrink:0;white-space:nowrap}.ihabdevteam-core-scope .word-table-button__meta-left .word-table-button__meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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}";se(rD);function $1({items:e,name:t,description:a,createdAt:o,code:n,published:i,publishedLabel:l,shared:c,sharedLabel:u,isNew:d,publisherName:h,publishedAt:p,likeCount:m,downloadCount:v,onPublisherClick:x,selected:g,onClick:b,onMore:C,titleNode:f,className:w}){const{t:y}=we.useTranslation(),A=f!=null,_=h!=null||p!=null||m!=null||v!=null,k=B=>{B.target===B.currentTarget&&!A&&(B.key==="Enter"||B.key===" ")&&(B.preventDefault(),b?.())};return r.jsxs("div",{className:Se("word-table-button",g?"word-table-button--selected":"",_?"":"word-table-button--no-footer",w),role:"button",tabIndex:0,"aria-label":n?`${t} (${n})`:t,onClick:A?void 0:b,onKeyDown:k,children:[d&&r.jsx("span",{className:"word-table-button__new-dot","aria-label":y("myWordTable.newBadge","\uC0C8\uB85C \uB9CC\uB4E0 \uD45C")}),r.jsx(Op,{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:[f??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&&!A&&r.jsx(ve,{htmlType:"button",className:"word-table-button__more",size:32,type:"dot",variant:"transparent-gray",useBorder:!1,icon:"ellipsis",ariaLabel:y("common.moreFor",{name:t}),onClick:B=>{B.stopPropagation(),C(B)}})]}),(n||o||i||c)&&r.jsxs("div",{className:"word-table-button__meta-row",children:[r.jsx("span",{className:"word-table-button__meta-left",children:r.jsx("span",{className:"word-table-button__meta caption-1",children:o?fi(o,y):""})}),r.jsxs("span",{className:"word-table-button__meta-right",children:[(i||c)&&r.jsxs("span",{className:"word-table-button__badges",children:[i&&r.jsx(Lt,{className:"word-table-button__badge",size:"small",variant:"main",fill:"soft",iconLeft:"book-marked",label:l??y("myWordTable.publishedBadge","\uBC1C\uD589\uB428")}),c&&r.jsx(Lt,{className:"word-table-button__badge",size:"small",fill:"soft",iconLeft:"link",label:u??y("myWordTable.sharedBadge","\uACF5\uC720 \uC911")})]}),n&&r.jsx("span",{className:"word-table-button__code caption-1",children:n})]})]}),_&&r.jsxs("div",{className:"word-table-button__footer",children:[r.jsxs("span",{className:"word-table-button__store-by",children:[h&&(x?r.jsx("button",{className:"training-card__publisher body-4",type:"button","aria-label":y("wordTable.publisherFilter",{name:h,defaultValue:"{{name}} \uAC8C\uC2DC\uD55C \uAC83\uB9CC \uBCF4\uAE30"}),onClick:B=>{B.stopPropagation(),x()},children:h}):r.jsx("span",{className:"training-card__publisher training-card__publisher--static body-4",children:h})),p&&r.jsx("span",{className:"training-card__date body-4",children:fi(p,y)})]}),r.jsxs("span",{className:"word-table-button__store-stats",children:[m!=null&&r.jsx(Lt,{size:"small",fill:"soft",variant:"like",iconLeft:"heart",label:String(m),"aria-label":y("common.likeCount",{count:m,defaultValue:`\uC88B\uC544\uC694 ${m}`})}),v!=null&&r.jsx(Lt,{size:"small",fill:"soft",variant:"main",iconLeft:"download",label:String(v),"aria-label":y("common.downloadCount",{count:v,defaultValue:`\uAC00\uC838\uAC04 \uC218 ${v}`})})]})]})]})}/**
1085
1085
  * @license lucide-react v1.38.0 - ISC
1086
1086
  *
1087
1087
  * This source code is licensed under the ISC license.
1088
1088
  * See the LICENSE file in the root directory of this source tree.
1089
- */const n6=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],i6=re("image",n6);/**
1089
+ */const nD=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],iD=re("image",nD);/**
1090
1090
  * @license lucide-react v1.38.0 - ISC
1091
1091
  *
1092
1092
  * This source code is licensed under the ISC license.
1093
1093
  * See the LICENSE file in the root directory of this source tree.
1094
- */const s6=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],l6=re("circle-x",s6);var c6=`.ihabdevteam-core-scope .popup--word-data-update .popup-panel{max-width:440px}.ihabdevteam-core-scope .popup--word-data-update .popup-title{padding:24px 24px 8px}.ihabdevteam-core-scope .popup--word-data-update .popup-footer{padding:16px 24px 24px}.ihabdevteam-core-scope .wdup-cards{display:flex;flex-direction:column;gap:var(--spacing-s);padding:0 24px}.ihabdevteam-core-scope .wdup-phase-card{align-items:center;background:#f7f9fb;background:var(--color-bg-secondary,#f7f9fb);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:14px;height:80px;padding:0 16px}.ihabdevteam-core-scope .wdup-phase-card__icon{align-items:center;background:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.ihabdevteam-core-scope .wdup-phase-card__icon-inner{display:flex}.ihabdevteam-core-scope .wdup-phase-card__icon-inner--pending{opacity:.35}.ihabdevteam-core-scope .wdup-phase-card__icon--done{background:#22c55e;background:var(--color-sub,#22c55e)}.ihabdevteam-core-scope .wdup-phase-card__icon--error{background:#ef4444;background:var(--color-danger,#ef4444)}.ihabdevteam-core-scope .wdup-phase-card__body{flex:1;min-width:0}.ihabdevteam-core-scope .wdup-phase-card__top{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.ihabdevteam-core-scope .wdup-phase-card__label{color:var(--color-black);font-weight:600}.ihabdevteam-core-scope .wdup-phase-card__label--pending{color:var(--color-lightGray);font-weight:400}.ihabdevteam-core-scope .wdup-bar{background:var(--color-whiteLine);border-radius:99px;height:6px;margin-bottom:6px;overflow:hidden}.ihabdevteam-core-scope .wdup-bar__fill{background:#29b6c8;background:var(--color-main,#29b6c8);border-radius:99px;height:100%;transition:width .3s ease}.ihabdevteam-core-scope .wdup-bar__fill--done{background:#22c55e;background:var(--color-sub,#22c55e)}.ihabdevteam-core-scope .wdup-bar__fill--error{background:#ef4444;background:var(--color-danger,#ef4444)}
1094
+ */const sD=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]],lD=re("circle-x",sD);var cD=`.ihabdevteam-core-scope .popup--word-data-update .popup-panel{max-width:440px}.ihabdevteam-core-scope .popup--word-data-update .popup-title{padding:24px 24px 8px}.ihabdevteam-core-scope .popup--word-data-update .popup-footer{padding:16px 24px 24px}.ihabdevteam-core-scope .wdup-cards{display:flex;flex-direction:column;gap:var(--spacing-s);padding:0 24px}.ihabdevteam-core-scope .wdup-phase-card{align-items:center;background:#f7f9fb;background:var(--color-bg-secondary,#f7f9fb);border-radius:var(--radius-m);box-sizing:border-box;display:flex;gap:14px;height:80px;padding:0 16px}.ihabdevteam-core-scope .wdup-phase-card__icon{align-items:center;background:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.ihabdevteam-core-scope .wdup-phase-card__icon-inner{display:flex}.ihabdevteam-core-scope .wdup-phase-card__icon-inner--pending{opacity:.35}.ihabdevteam-core-scope .wdup-phase-card__icon--done{background:#22c55e;background:var(--color-sub,#22c55e)}.ihabdevteam-core-scope .wdup-phase-card__icon--error{background:#ef4444;background:var(--color-danger,#ef4444)}.ihabdevteam-core-scope .wdup-phase-card__body{flex:1;min-width:0}.ihabdevteam-core-scope .wdup-phase-card__top{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs)}.ihabdevteam-core-scope .wdup-phase-card__label{color:var(--color-black);font-weight:600}.ihabdevteam-core-scope .wdup-phase-card__label--pending{color:var(--color-lightGray);font-weight:400}.ihabdevteam-core-scope .wdup-bar{background:var(--color-whiteLine);border-radius:99px;height:6px;margin-bottom:6px;overflow:hidden}.ihabdevteam-core-scope .wdup-bar__fill{background:#29b6c8;background:var(--color-main,#29b6c8);border-radius:99px;height:100%;transition:width .3s ease}.ihabdevteam-core-scope .wdup-bar__fill--done{background:#22c55e;background:var(--color-sub,#22c55e)}.ihabdevteam-core-scope .wdup-bar__fill--error{background:#ef4444;background:var(--color-danger,#ef4444)}
1095
1095
 
1096
1096
  /* !important \uBD88\uD544\uC694 \u2014 WordDataUpdatePopup.tsx\uC758 \uC778\uB77C\uC778 width\uB294 pct/isDone/isError\uC77C \uB54C\uB9CC
1097
1097
  \uC124\uC815\uB418\uACE0 \uC774 indeterminate \uD074\uB798\uC2A4\uAC00 \uBD99\uB294 \uC0C1\uD0DC(state==='active' && pct===undefined)\uC5D0\uC11C\uB294
1098
- \uC778\uB77C\uC778 width\uAC00 \uC544\uC608 \uC124\uC815\uB418\uC9C0 \uC54A\uC544(undefined) \uACBD\uD569 \uC790\uCCB4\uAC00 \uC5C6\uC74C(\uCF54\uB4DC \uD655\uC778\uB428). */.ihabdevteam-core-scope .wdup-bar__fill--indeterminate{animation:wdup-indeterminate 1.4s ease-in-out infinite;width:40%}@keyframes wdup-indeterminate{0%{transform:translateX(-150%)}to{transform:translateX(400%)}}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .wdup-bar__fill--indeterminate{animation:none!important;transform:none;width:100%}}.ihabdevteam-core-scope .wdup-phase-card__sub{color:var(--color-lightGray)}`;se(c6);function u6(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Fp({icon:e,label:t,state:a,pct:o,subText:n}){const{t:i}=we.useTranslation(),l=a==="done",c=a==="pending",u=a==="error",d=l?100:o??0;return r.jsxs("div",{className:"wdup-phase-card",children:[r.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":u?" wdup-phase-card__icon--error":""}`,children:l?r.jsx(rh,{size:22,color:"white",strokeWidth:2.5}):u?r.jsx(l6,{size:22,color:"white",strokeWidth:2.5}):r.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),r.jsxs("div",{className:"wdup-phase-card__body",children:[r.jsxs("div",{className:"wdup-phase-card__top",children:[r.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),l?r.jsx(Lt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):u?r.jsx(Lt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(n||o!==void 0)&&r.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[n,n&&o!==void 0?` \xB7 ${o}%`:o!==void 0?`${o}%`:""]})]}),!c&&r.jsx("div",{className:"wdup-bar",children:r.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":u?" wdup-bar__fill--error":""}${a==="active"&&o===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:o!==void 0||l||u?`${u?100:d}%`:void 0}})})]})]})}function R1({title:e,progress:t,onDone:a,onRetry:o,onClose:n,inline:i}){const{t:l}=we.useTranslation(),{phase:c,error:u,wordCount:d,imagePage:h,imageDone:p,imageTotal:m,pairPercent:v}=t,x=u6(c),g=c==="done",b=!!u;function C(k){return b&&x===k?"error":x>k?"done":x===k?"active":"pending"}const f=C(1),w=C(2),y=C(3),A=c==="image-match"&&m?Math.round((p??0)/m*100):void 0,_=s.useMemo(()=>{if(w!=="done"){if(c==="image-list")return l("wordData.checkingPage",{page:h??1});if(c==="image-match"&&m)return l("wordData.imageCount",{done:vn(p),total:vn(m)})}},[w,c,h,m,p,l]);return r.jsx(no,{inline:i,className:"popup--word-data-update",title:e,footer:b&&o?r.jsx(ve,{htmlType:"button",size:56,variant:"main",onClick:o,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):b?r.jsx(ve,{htmlType:"button",size:56,variant:"main",onClick:n??a,children:l("common.close","\uB2EB\uAE30")}):r.jsx(ve,{htmlType:"button",size:56,variant:"main",disabled:!g,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:r.jsxs("div",{className:"wdup-cards",children:[r.jsx(Fp,{icon:r.jsx(Qp,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:f,subText:f==="active"?l("wordData.downloadingCount",{n:vn(d),count:d}):void 0}),r.jsx(Fp,{icon:r.jsx(i6,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:w,pct:A,subText:_}),r.jsx(Fp,{icon:r.jsx(ah,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:y,pct:y==="active"?v??0:void 0,subText:void 0})]})})}var d6=".ihabdevteam-core-scope .debug-result-launcher{bottom:18px;display:flex;flex-direction:column;gap:var(--spacing-xs);position:fixed;right:18px;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .debug-buttons{background:rgba(11,43,47,.02);border-radius:var(--radius-s);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:6px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .debug-button{background:var(--color-white);border:1px solid rgba(11,43,47,.06);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;min-height:24px;padding:8px 12px}.ihabdevteam-core-scope .debug-button:hover{transform:translateY(-1px)}";se(d6);function P1({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=we.useTranslation(),[o,n]=s.useState(null),[i,l]=s.useState(null),c=v=>{let x=null;v==="noise"?x={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:v==="short"?x={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:v==="long"?x={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:v==="order"&&(x={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(x),n(v)},u=s.useCallback(()=>{n(null),l(null)},[]),d=s.useCallback(()=>c("noise"),[]),h=s.useCallback(()=>c("short"),[]),p=s.useCallback(()=>c("long"),[]),m=s.useCallback(()=>c("order"),[]);return e?r.jsxs("div",{className:"debug-result-launcher",children:[r.jsxs("div",{className:"debug-buttons",children:[r.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),r.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),r.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),r.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),o&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:u,onClose:u}):null]}):null}var p6=Object.freeze({__proto__:null,Accordion:sf,ActionCard:cg,Alert:Ef,AppHeader:hf,AudioMeter:ns,AudioPlayer:Vn,Avatar:jf,Badge:Lt,BarChart:s0,BarChartControls:$d,Board:Wf,BottomNav:ud,BrandIdentity:hd,BrandLogo:o0,Breadcrumb:Lf,BulkBar:Jf,Button:ve,CORE_VERSION:Yn,Calendar:A0,CardStep:jp,ChartLegend:ts,ChartSection:as,ChartTotal:Rr,Checkbox:jd,ChoiceChips:Bv,CircleBadge:Bf,CodeBox:Zf,ColorPicker:$f,CompanyMeta:Yf,ConfirmPopup:Pp,ConfirmStep:Ep,ConfirmWithTextStep:Dp,ContrastFilterPanel:g1,CoreScope:ug,CountTile:Pf,CouponInputPopup:x1,DEFAULT_NOISE_SETTINGS:Do,DatePicker:t0,DebugResultLauncher:P1,DescriptionTooltip:ko,DeviceSideTable:k0,Dialog:Ff,Divider:Af,Dropdown:xa,EffectPartyPopper:js,EffectPartyPopperHost:y1,EmptyState:sg,ErrorState:lg,FILTER_ALL_VALUE:$t,FileUpload:Tf,FilterPanel:Ya,FilterSectionInfo:Mr,Footer:Av,GameIntro:c0,Header:md,Icon:ot,IconGridMenu:kv,IconRenderer:ot,InfoTooltip:La,ItemActions:Qf,LEVEL_MAX:or,LINE_CHART_HOVER_DELAY_MS:Pd,LandingBottomSticky:Ev,LandingHeader:Sv,LineChart:l0,ListPopup:f1,ListenStep:Sp,Loader:$r,MARKS:Fn,MARK_ICON:Kd,MARK_VARIANT:Xd,MediaQueryOverrideContext:$i,MenuTooltip:Tr,NOISE_RATIO_MAX:Or,NOISE_RATIO_STEP:dp,NoisePlayerContext:vs,NoiseSettingsTooltip:yp,NoticeBox:pg,NotifyTextPreview:a0,OrderListStep:Np,PASS_CARD_BG_VARS:Bo,POS_LABEL:Jd,PROMO_BANNER_BG_COMPONENTS:Au,PROMO_BANNER_BG_OPTIONS:fg,PROMO_BANNER_BG_VARS:Dr,Page:qn,PageTitle:_1,Pagination:Pn,Panel:Un,PanelGrid:Yv,PanelRow:Xa,PanelRowDevice:qv,PassCard:xd,PassCardBg:yf,PassCardBgIHAB:_f,PassCardBgLeftColorGrid:wf,PassCardBgTwoCircle:vd,PaymentPlan:Cf,PersonCard:Gf,PhonemeFilterPanel:b1,PhonemeSelectBlock:h1,Popup:no,ProgressBar:v0,ProgressIndicator:Gd,PromoBanner:rf,PromoBannerBgDark:du,PromoBannerBgDeep:nu,PromoBannerBgDiagonal:bu,PromoBannerBgDots:fu,PromoBannerBgInstagram:Bu,PromoBannerBgMain:Qc,PromoBannerBgNaver:wu,PromoBannerBgOutline:xu,PromoBannerBgRadial:hu,PromoBannerBgSoft:tu,PromoBannerBgSoftSub:su,PromoBannerBgSub:ou,PromoBannerBgSuccess:yu,PromoBannerBgWarm:cu,PublicationCard:Vf,Radio:kd,RadioGroup:Sf,Rating:Mf,ReportDocument:E1,ReportInfoPanel:D1,RingChart:b0,SENTENCE_TRAINING_TYPES:bs,SearchSummary:Df,Section:er,SectionHeadFloat:Ld,SectionHeader:qf,SegmentedControl:Ra,ShortcutBadge:wd,SideNav:dd,Slider:Id,SoundCompass:kf,SplashLogo:Uf,StatChart:g0,SummaryStrip:S1,TRAINING_TOOLTIP_HOVER_DELAY_MS:Bd,Table:is,TableFilterPanel:ps,Tabs:Nf,TextBoxTooltip:Wr,TextField:So,Timeline:Hf,Toast:Qo,Toggle:Nd,Toolbar:Qi,Tooltip:ka,TooltipInfo:La,TooltipTextBox:Wr,TopBanner:nf,TrainingBlock:D0,TrainingBlockButton:Ji,TrainingBlockGrid:N0,TrainingCard:j1,TrainingCardGroup:T1,TrainingPagePopup:so,TrainingPagePopupBottom:_p,TrainingPagePopupTitle:wp,TrainingResultPopup:Lp,TrainingStep:No,TrainingStepAudioPlayer:Vn,TrainingStepBullet:bp,TrainingStepCard:xp,TrainingStepConfirm:ys,TrainingStepConfirmWithText:_s,TrainingStepListen:ws,TrainingStepOrderList:ks,TrainingStepTextBox:vp,TrainingStepTitle:gp,TrainingTooltip:Ad,TrainingWordCard:cs,UpdateAlert:N1,WAVE_A_MAX:$v,WAVE_H1_PX:Cs,WAVE_HMAX_PX:Mv,WORD_LABEL_I18N_KEYS:$0,WORD_TABLE_PAPER:tr,WORD_TYPE_LABEL:Qd,WordDataProvider:A1,WordDataUpdatePopup:R1,WordImageTooltip:Rp,WordSearchFilterPanel:m1,WordSearchResultBlock:p1,WordTable:ar,WordTableBlock:M1,WordTableButton:$1,WordTablePopup:J0,WordTableThumbnail:Op,buildMonthChartData:r0,cellKey:nv,cellLabel:rv,cellsForLabels:fv,clearPassCardBgTheme:Ua,clearPromoBannerBgTheme:Zt,closeTrainingPopup:Xv,companyTypeLabel:w1,createTrainingScenario:e1,cx:Se,deriveNoiseContexts:i1,derivePassCard:bd,draftValues:wv,effectiveNoiseVolume:gs,effectiveSpeechVolume:pp,expandSlashLabel:ds,formatDuration:vv,getControlDateRange:p0,getPayloadTimestamp:As,getPromoBannerBgTheme:Ri,getSelectedFromPayload:a1,getSelectedText:o1,getStepPayload:Ap,getSteppedPayload:r1,injectPassCardBgTheme:Va,injectPromoBannerBgTheme:Xt,isSelectionCorrect:n1,labelOfCellKey:cp,labelsForSave:ov,levelToPct:Dv,markAfterClick:Yd,marksForSave:us,mergeNoiseSettings:Eo,missesByType:hv,monthKeyOf:Pr,monthKeyOfDate:os,nextFocus:uv,nextMisses:pv,noiseElementVolume:fs,noiseRatioOf:Fr,pageStartIndexes:Zd,parseMonthKey:Jo,passCardBgIhabTheme:yd,passCardBgLeftColorGridTheme:_d,passCardBgTwoCircleTheme:fd,pctToLevel:Nv,posLabels:ap,printWordTable:L0,promoBannerBgDarkTheme:uu,promoBannerBgDeepTheme:ru,promoBannerBgDiagonalTheme:mu,promoBannerBgDotsTheme:gu,promoBannerBgInstagramTheme:ku,promoBannerBgMainTheme:Jc,promoBannerBgNaverTheme:_u,promoBannerBgOutlineTheme:vu,promoBannerBgRadialTheme:pu,promoBannerBgSoftSubTheme:iu,promoBannerBgSoftTheme:eu,promoBannerBgSubTheme:au,promoBannerBgSuccessTheme:Cu,promoBannerBgWarmTheme:lu,recommendTables:bv,regenerateUnpinned:_v,removeItem:yv,resolveTrainingItems:Qv,resolveTrainingPopupMeta:kp,reviewCells:Q0,reviewMeta:av,reviewSetPlan:mv,reviewTableName:tv,scoreKey:On,scoreSheetHeader:iv,shouldConfirmDiscard:T0,splitTrainingVariants:Zv,summarize:j0,summarizeMisses:dv,tableTrends:cv,toDraft:xv,toTrainingText:t1,togglePin:Cv,uncoveredLabels:gv,useAnchoredMenu:Zo,useBarChartControl:Md,useCalendarMonth:Td,useComboboxSuggestions:Ed,useDiscardGuard:v1,useFitScale:rp,useNoisePlayer:Wn,useSoundCompassExam:rd,useToastLifecycle:Wd,useWordData:B1,useWordTableDisplaySettings:lp,useWordTablePrint:ms,waveBarPx:Gn,waveBarVal:Hn,weakItems:lv,weekValueOf:rs,withStepTimes:Bp,wordTypeLabels:op}),h6=Object.freeze({__proto__:null});const m6={...p6,...jB,...h3,...h6};exports.Accordion=sf,exports.ActionCard=cg,exports.Alert=Ef,exports.AppHeader=hf,exports.AudioMeter=ns,exports.AudioPlayer=Vn,exports.Avatar=jf,exports.Badge=Lt,exports.BarChart=s0,exports.BarChartControls=$d,exports.Board=Wf,exports.BottomNav=ud,exports.BrandIdentity=hd,exports.BrandLogo=o0,exports.Breadcrumb=Lf,exports.BulkBar=Jf,exports.Button=ve,exports.CACHE_GROUPS=Nu,exports.CAPABILITY=fr,exports.CHOSEONG=bt,exports.CORE_VERSION=Yn,exports.Calendar=A0,exports.CardStep=jp,exports.ChartLegend=ts,exports.ChartSection=as,exports.ChartTotal=Rr,exports.Checkbox=jd,exports.ChoiceChips=Bv,exports.CircleBadge=Bf,exports.CodeBox=Zf,exports.ColorPicker=$f,exports.CompanyMeta=Yf,exports.ConfirmPopup=Pp,exports.ConfirmStep=Ep,exports.ConfirmWithTextStep=Dp,exports.ContrastFilterPanel=g1,exports.CoreScope=ug,exports.CountTile=Pf,exports.CouponInputPopup=x1,exports.DEFAULT_LOCALE=Lo,exports.DEFAULT_NOISE_SETTINGS=Do,exports.DatePicker=t0,exports.DebugResultLauncher=P1,exports.DescriptionTooltip=ko,exports.DeviceSideTable=k0,exports.Dialog=Ff,exports.Divider=Af,exports.DocumentTitleSuppressContext=Eu,exports.Dropdown=xa,exports.EMPTY_COMPOSITION=Oi,exports.EffectPartyPopper=js,exports.EffectPartyPopperHost=y1,exports.EmptyState=sg,exports.ErrorState=lg,exports.FILTER_ALL_VALUE=$t,exports.FileUpload=Tf,exports.FilterPanel=Ya,exports.FilterSectionInfo=Mr,exports.Footer=Av,exports.GameIntro=c0,exports.Header=md,exports.I18nProvider=qC,exports.Icon=ot,exports.IconGridMenu=kv,exports.IconRenderer=ot,exports.InfoTooltip=La,exports.ItemActions=Qf,exports.JONGSEONG=It,exports.JUNGSEONG=Bt,exports.LEVEL_MAX=or,exports.LINE_CHART_HOVER_DELAY_MS=Pd,exports.LMS_BYTE_LIMIT=Qh,exports.LOCALE_STORAGE_KEY=$s,exports.LONG_STORIES=yo,exports.LandingBottomSticky=Ev,exports.LandingHeader=Sv,exports.LineChart=l0,exports.ListPopup=f1,exports.ListenStep=Sp,exports.Loader=$r,exports.MARKS=Fn,exports.MARK_ICON=Kd,exports.MARK_VARIANT=Xd,exports.MediaQueryOverrideContext=$i,exports.MenuTooltip=Tr,exports.NETWORK_ERROR_MESSAGE=mi,exports.NOISE_DATAS=xo,exports.NOISE_RATIO_MAX=Or,exports.NOISE_RATIO_STEP=dp,exports.NO_CODA=Ma,exports.NoisePlayerContext=vs,exports.NoiseSettingsTooltip=yp,exports.NoticeBox=pg,exports.NotifyTextPreview=a0,exports.ORDER_SETS=_o,exports.OrderListStep=Np,exports.PASS_CARD_BG_VARS=Bo,exports.PERSONAL_PHONE_REGEX=xc,exports.PHONE_REGEX=vc,exports.PLAN_FEATURES=Hb,exports.PLAN_LIMITS=qb,exports.POS_LABEL=Jd,exports.PROMO_BANNER_BG_COMPONENTS=Au,exports.PROMO_BANNER_BG_OPTIONS=fg,exports.PROMO_BANNER_BG_VARS=Dr,exports.Page=qn,exports.PageTitle=_1,exports.Pagination=Pn,exports.Panel=Un,exports.PanelGrid=Yv,exports.PanelRow=Xa,exports.PanelRowDevice=qv,exports.PassCard=xd,exports.PassCardBg=yf,exports.PassCardBgIHAB=_f,exports.PassCardBgLeftColorGrid=wf,exports.PassCardBgTwoCircle=vd,exports.PaymentPlan=Cf,exports.PersonCard=Gf,exports.PhonemeFilterPanel=b1,exports.PhonemeSelectBlock=h1,exports.Popup=no,exports.ProgressBar=v0,exports.ProgressIndicator=Gd,exports.PromoBanner=rf,exports.PromoBannerBgDark=du,exports.PromoBannerBgDeep=nu,exports.PromoBannerBgDiagonal=bu,exports.PromoBannerBgDots=fu,exports.PromoBannerBgInstagram=Bu,exports.PromoBannerBgMain=Qc,exports.PromoBannerBgNaver=wu,exports.PromoBannerBgOutline=xu,exports.PromoBannerBgRadial=hu,exports.PromoBannerBgSoft=tu,exports.PromoBannerBgSoftSub=su,exports.PromoBannerBgSub=ou,exports.PromoBannerBgSuccess=yu,exports.PromoBannerBgWarm=cu,exports.PublicationCard=Vf,exports.Radio=kd,exports.RadioGroup=Sf,exports.Rating=Mf,exports.ReportDocument=E1,exports.ReportInfoPanel=D1,exports.RingChart=b0,exports.SENTENCE_TRAINING_TYPES=bs,exports.SHORT_STORIES=Co,exports.SMS_BYTE_LIMIT=Jh,exports.SUPPORTED_LOCALES=Hr,exports.SYLLABLE_MIN=$a,exports.SearchSummary=Df,exports.Section=er,exports.SectionHeadFloat=Ld,exports.SectionHeader=qf,exports.SegmentedControl=Ra,exports.ShortcutBadge=wd,exports.SideNav=dd,exports.Slider=Id,exports.SoundCompass=kf,exports.SplashLogo=Uf,exports.StatChart=g0,exports.SummaryStrip=S1,exports.TIER_RANK=Vb,exports.TOPIC_TYPES=Bb,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=Bd,exports.TRAINING_TYPES=jc,exports.TRAINING_TYPE_I18N_KEY=ki,exports.Table=is,exports.TableFilterPanel=ps,exports.Tabs=Nf,exports.TextBoxTooltip=Wr,exports.TextField=So,exports.Timeline=Hf,exports.Toast=Qo,exports.Toggle=Nd,exports.Toolbar=Qi,exports.Tooltip=ka,exports.TooltipInfo=La,exports.TooltipTextBox=Wr,exports.TopBanner=nf,exports.TrainingBlock=D0,exports.TrainingBlockButton=Ji,exports.TrainingBlockGrid=N0,exports.TrainingCard=j1,exports.TrainingCardGroup=T1,exports.TrainingPagePopup=so,exports.TrainingPagePopupBottom=_p,exports.TrainingPagePopupTitle=wp,exports.TrainingResultPopup=Lp,exports.TrainingStep=No,exports.TrainingStepAudioPlayer=Vn,exports.TrainingStepBullet=bp,exports.TrainingStepCard=xp,exports.TrainingStepConfirm=ys,exports.TrainingStepConfirmWithText=_s,exports.TrainingStepListen=ws,exports.TrainingStepOrderList=ks,exports.TrainingStepTextBox=vp,exports.TrainingStepTitle=gp,exports.TrainingTooltip=Ad,exports.TrainingWordCard=cs,exports.UpdateAlert=N1,exports.VAP_PAGE_SIZE_OPTIONS=Ko,exports.WAVE_A_MAX=$v,exports.WAVE_H1_PX=Cs,exports.WAVE_HMAX_PX=Mv,exports.WORD_LABEL_I18N_KEYS=$0,exports.WORD_SUGGESTION_ACCOUNT_LIMIT=Xb,exports.WORD_SUGGESTION_EXISTING_ERROR=Jb,exports.WORD_SUGGESTION_WEEKLY_QUOTA=Kb,exports.WORD_TABLE_PAPER=tr,exports.WORD_TYPE_LABEL=Qd,exports.WordDataProvider=A1,exports.WordDataUpdatePopup=R1,exports.WordImageTooltip=Rp,exports.WordSearchFilterPanel=m1,exports.WordSearchResultBlock=p1,exports.WordTable=ar,exports.WordTableBlock=M1,exports.WordTableButton=$1,exports.WordTablePopup=J0,exports.WordTableThumbnail=Op,exports.applyFontScale=Bc,exports.applyTheme=wc,exports.balancedColumns=jl,exports.buildChangeWholeSyllableProblem=ic,exports.buildDropCompoundProblem=tc,exports.buildDropContrast3Problem=ec,exports.buildDropContrastProblem=Ql,exports.buildDropFinalConsonantProblem=ac,exports.buildGradeSection=Ru,exports.buildMonthChartData=r0,exports.buildMultiPartPosContrast=Dl,exports.buildPairIndex=mm,exports.buildPartOfSpeechSection=Pu,exports.buildPositionSection=$g,exports.buildRemoveConsonantProblem=rc,exports.buildSelectSection=Mg,exports.buildSyllableMaskIndex=nc,exports.buildSyllableSection=Lg,exports.buildWordTypeSection=zu,exports.bulkSetImageExistence=Zh,exports.cardQuestionTitle=jm,exports.cellKey=nv,exports.cellLabel=rv,exports.cellsForLabels=fv,exports.charToPronValue=Gu,exports.checkImageExists=ei,exports.classifyPairDifficulty=hl,exports.clearAudioExistsCache=Rh,exports.clearImageExistenceCache=ll,exports.clearPairIndexCache=Al,exports.clearPassCardBgTheme=Ua,exports.clearPromoBannerBgTheme=Zt,exports.closeTrainingPopup=Xv,exports.columnsFitting=Nl,exports.companyTypeLabel=w1,exports.composeSyllable=Da,exports.computeDailySelection=Sc,exports.configureImageResolver=Gh,exports.configureNoiseSettingsStore=ib,exports.configurePronunciationResolver=zh,exports.configureStorage=Zs,exports.configureTTS=$h,exports.configureTrainingCategories=gb,exports.convertComposition=Vu,exports.copyText=fc,exports.createDecompCache=pl,exports.createTTSUrlResolver=cb,exports.createTrainingScenario=e1,exports.cx=Se,exports.dateToDb=bb,exports.default=m6,exports.deriveNoiseContexts=i1,exports.derivePassCard=bd,exports.downloadCsvText=Pm,exports.downloadSound=Zn,exports.draftValues=wv,exports.effectiveNoiseVolume=gs,exports.effectiveSpeechVolume=pp,exports.ensureTrainingDataLoaded=Nc,exports.escapeCsvField=Rm,exports.eucKrBytes=oi,exports.expandSlashLabel=ds,exports.fileExists=Js,exports.filterContrastCandidates=El,exports.finalToPhoneme=zo,exports.firstChoseongOf=ml,exports.fmtBytes=_g,exports.formatCount=vn,exports.formatDateKo=Hm,exports.formatDateLocale=bi,exports.formatDateLongKo=Vm,exports.formatDateLongLocale=qm,exports.formatDatetimeKo=Ym,exports.formatDuration=vv,exports.formatPhone=ub,exports.formatRelativeTime=fi,exports.formatTimeHM=yi,exports.formatYmd=vi,exports.getAssetBaseUrl=Ks,exports.getControlDateRange=p0,exports.getDailySelection=wb,exports.getElementAnalyser=il,exports.getElementVolume=dr,exports.getErrorMessage=mn,exports.getImageExistenceStats=ti,exports.getImageExistsCached=Kh,exports.getImageResolver=go,exports.getNoiseBaseUrl=Qs,exports.getNoiseFileGain=el,exports.getPairIndex=Oo,exports.getPayloadTimestamp=As,exports.getPlanTier=Yb,exports.getPromoBannerBgTheme=Ri,exports.getPronunciationResolver=al,exports.getSavedFontScale=kc,exports.getSavedTheme=_c,exports.getSelectedFromPayload=a1,exports.getSelectedText=o1,exports.getSignedOrPublicUrl=Zr,exports.getStepPayload=Ap,exports.getSteppedPayload=r1,exports.getTTSFallbackUrlResolver=Jr,exports.getTTSUrlResolver=Ro,exports.getTodayKst=wa,exports.getTodayKstDate=vo,exports.getTopicTypes=_i,exports.getTrainingPools=Ec,exports.getTrainingTypes=yc,exports.getWordPool=Ho,exports.gradeDescriptions=Ku,exports.hasQuestionWordConstraint=Am,exports.hasSel=Ot,exports.hasStructureContrast=nn,exports.initFontScale=yb,exports.initTheme=xb,exports.injectPassCardBgTheme=Va,exports.injectPromoBannerBgTheme=Xt,exports.installSkewRecovery=tg,exports.isAllChoseong=gl,exports.isManagerTier=Ub,exports.isManualOnlyType=Em,exports.isNetworkErrorMessage=sc,exports.isPersonalPhone=hb,exports.isSelectionCorrect=n1,exports.isSessionForThisTab=ag,exports.isSyllablePattern=yl,exports.isThisWeekPick=Zb,exports.isTrainingDataLoaded=kb,exports.isValidPhone=pb,exports.isValidQuestionWord=Sm,exports.itemCorrectness=mc,exports.jamoToNamesForSpeech=Tm,exports.kstStartOfDay=gi,exports.labelOfCellKey=cp,exports.labelsForSave=ov,exports.lazyPage=og,exports.levelToPct=Dv,exports.loadGameLeaderboard=nb,exports.loadMyGameRanks=rb,exports.loadNoiseSettings=gc,exports.loadTrainingData=Dc,exports.logCrossword=Gm,exports.logTrainingCompletion=uc,exports.logTrainingTime=cc,exports.lsBytes=ju,exports.markAfterClick=Yd,exports.marksForSave=us,exports.matchSyllables=Wo,exports.matchesChoseongSearch=tm,exports.matchesSyllablePattern=_l,exports.matchesWordQuery=am,exports.meaningKey=Wi,exports.measureSmsText=ul,exports.mergeNoiseSettings=Eo,exports.mergeQuestionText=Zl,exports.minimalPairDistractors=ni,exports.missesByType=hv,exports.monthKeyOf=Pr,exports.monthKeyOfDate=os,exports.nextFocus=uv,exports.nextMisses=pv,exports.noiseElementVolume=fs,exports.noiseRatioOf=Fr,exports.normalizeDate=mb,exports.normalizeWordAttributeFilter=Eb,exports.officialSoundPath=lb,exports.pageStartIndexes=Zd,exports.parseLocalYmd=hc,exports.parseMonthKey=Jo,exports.parseSortValue=$m,exports.parseSyllable=Ye,exports.passCardBgIhabTheme=yd,exports.passCardBgLeftColorGridTheme=_d,exports.passCardBgTwoCircleTheme=fd,exports.patternToComposition=um,exports.pctToLevel=Nv,exports.phonemePartsOf=Nm,exports.pickEuRo=Ul,exports.pickEulReul=Wl,exports.pickEunNeun=Hl,exports.pickIga=Ol,exports.pickWaGwa=Vl,exports.posLabels=ap,exports.prefetchChunk=rg,exports.prewarmImageCache=Xh,exports.primarySelPart=xr,exports.printWordTable=L0,exports.promoBannerBgDarkTheme=uu,exports.promoBannerBgDeepTheme=ru,exports.promoBannerBgDiagonalTheme=mu,exports.promoBannerBgDotsTheme=gu,exports.promoBannerBgInstagramTheme=ku,exports.promoBannerBgMainTheme=Jc,exports.promoBannerBgNaverTheme=_u,exports.promoBannerBgOutlineTheme=vu,exports.promoBannerBgRadialTheme=pu,exports.promoBannerBgSoftSubTheme=iu,exports.promoBannerBgSoftTheme=eu,exports.promoBannerBgSubTheme=au,exports.promoBannerBgSuccessTheme=Cu,exports.promoBannerBgWarmTheme=lu,exports.pronToCharValue=Hu,exports.readLevel=sl,exports.recommendTables=bv,exports.recoverFromSkew=Ti,exports.regenerateUnpinned=_v,exports.removeItem=yv,exports.reorderArray=ql,exports.reportAppliedNoiseSettings=wr,exports.resolveAssetUrl=Xr,exports.resolveSoundPath=Xn,exports.resolveTrainingItems=Qv,exports.resolveTrainingPopupMeta=kp,exports.resumeAudioMeter=en,exports.reviewCells=Q0,exports.reviewMeta=av,exports.reviewSetPlan=mv,exports.reviewTableName=tv,exports.routeElementAudio=ur,exports.sample=ja,exports.saveLocale=HC,exports.saveNoiseSettings=gn,exports.scoreKey=On,exports.scoreSheetHeader=iv,exports.searchAndRankWords=pm,exports.setAssetBaseUrl=Lh,exports.setCrosswordLogger=Wm,exports.setElementVolume=za,exports.setGameLeaderboardLoader=ab,exports.setGameRanksLoader=tb,exports.setGameScoreSubmitter=eb,exports.setTrainingCompletionLogger=Fm,exports.setTrainingTimeLogger=Om,exports.setWordPool=Im,exports.shouldConfirmDiscard=T0,exports.shuffle=st,exports.skewReloadPending=Gc,exports.smsTypeFor=cl,exports.sortToValue=Mm,exports.soundOf=hi,exports.speak=Ys,exports.splitTrainingVariants=Zv,exports.stopSpeaking=Kr,exports.submitGameScore=ob,exports.summarize=j0,exports.summarizeMisses=dv,exports.syllMatchesComp=eo,exports.syllableContrasts=Go,exports.syllableLength=Io,exports.syllablePron=hn,exports.syllableToFilter=Ii,exports.tableTrends=cv,exports.toBase64UrlSafe=sb,exports.toChoseong=bl,exports.toDraft=xv,exports.toItemResults=bc,exports.toKstHm=Km,exports.toKstYmd=Wa,exports.toStandardPronunciation=_m,exports.toStorageName=fn,exports.toTrainingText=t1,exports.toUserErrorMessage=Lm,exports.toWordAttributeFilterCodes=Bi,exports.toWordEntry=ng,exports.today=jr,exports.toggleAttributeFilter=Rg,exports.togglePin=Cv,exports.uncoveredLabels=gv,exports.useAnchoredMenu=Zo,exports.useBarChartControl=Md,exports.useCacheManagement=wg,exports.useCalendarMonth=Td,exports.useComboboxSuggestions=Ed,exports.useDailyTrainingSelection=Jg,exports.useDelayedHoverAnchor=ad,exports.useDeviceManagement=Tg,exports.useDiscardGuard=v1,exports.useDocumentTitle=Du,exports.useEscToClose=Qu,exports.useFitScale=rp,exports.useFontScale=Pi,exports.useHoverAnchor=Xo,exports.useI18n=VC,exports.useInlineSvg=sd,exports.useListControls=tf,exports.useMediaQuery=ua,exports.useNoisePlayer=Wn,exports.usePageResetOnChange=od,exports.usePagedList=ef,exports.usePasswordChange=yg,exports.useRelativeDay=Cg,exports.useSoundCompassExam=rd,exports.useTablePaging=Lu,exports.useTableSort=Mu,exports.useToastLifecycle=Wd,exports.useToastState=Hi,exports.useTrainingTypeLabels=af,exports.useVisitAllPanel=Dg,exports.useVisitHistory=Ag,exports.useVisitSchedule=Eg,exports.useWindowEvent=Nr,exports.useWordAttributeFilterKeys=$u,exports.useWordData=B1,exports.useWordDataStats=kg,exports.useWordMeanings=Qg,exports.useWordTableDisplaySettings=lp,exports.useWordTablePrint=ms,exports.useWordTrainingDataGeneration=Xg,exports.useWordTrainingFilter=Kg,exports.validateSyllableSearchInput=dm,exports.valueToJamos=Ha,exports.waveBarPx=Gn,exports.waveBarVal=Hn,exports.weakItems=lv,exports.weekValueOf=rs,exports.withEuRo=Bm,exports.withEulReul=Gl,exports.withEunNeun=wm,exports.withIga=Fl,exports.withStepTimes=Bp,exports.withWaGwa=km,exports.wordAttributeFilterFromCodes=Ai,exports.wordContainsChoseong=rm,exports.wordContainsJongseong=sm,exports.wordContainsJungseong=nm,exports.wordHasConsonantAt=lm,exports.wordHasNoCoda=vl,exports.wordHasSyllableMatching=Cl,exports.wordTypeLabels=op,exports.wrongItems=Xm;
1098
+ \uC778\uB77C\uC778 width\uAC00 \uC544\uC608 \uC124\uC815\uB418\uC9C0 \uC54A\uC544(undefined) \uACBD\uD569 \uC790\uCCB4\uAC00 \uC5C6\uC74C(\uCF54\uB4DC \uD655\uC778\uB428). */.ihabdevteam-core-scope .wdup-bar__fill--indeterminate{animation:wdup-indeterminate 1.4s ease-in-out infinite;width:40%}@keyframes wdup-indeterminate{0%{transform:translateX(-150%)}to{transform:translateX(400%)}}@media (prefers-reduced-motion:reduce){.ihabdevteam-core-scope .wdup-bar__fill--indeterminate{animation:none!important;transform:none;width:100%}}.ihabdevteam-core-scope .wdup-phase-card__sub{color:var(--color-lightGray)}`;se(cD);function uD(e){return{idle:0,"word-download":1,"image-list":2,"image-match":2,"pair-build":3,done:4}[e]??0}function Fp({icon:e,label:t,state:a,pct:o,subText:n}){const{t:i}=we.useTranslation(),l=a==="done",c=a==="pending",u=a==="error",d=l?100:o??0;return r.jsxs("div",{className:"wdup-phase-card",children:[r.jsx("div",{className:`wdup-phase-card__icon${l?" wdup-phase-card__icon--done":u?" wdup-phase-card__icon--error":""}`,children:l?r.jsx(rh,{size:22,color:"white",strokeWidth:2.5}):u?r.jsx(lD,{size:22,color:"white",strokeWidth:2.5}):r.jsx("span",{className:`wdup-phase-card__icon-inner${c?" wdup-phase-card__icon-inner--pending":""}`,children:e})}),r.jsxs("div",{className:"wdup-phase-card__body",children:[r.jsxs("div",{className:"wdup-phase-card__top",children:[r.jsx("span",{className:`wdup-phase-card__label body-2${c?" wdup-phase-card__label--pending":""}`,children:t}),l?r.jsx(Lt,{variant:"sub",fill:"soft",size:"small",label:i("common.done","\uC644\uB8CC")}):u?r.jsx(Lt,{variant:"danger",fill:"soft",size:"small",label:i("common.failed","\uC2E4\uD328")}):(n||o!==void 0)&&r.jsxs("span",{className:"wdup-phase-card__sub body-3",children:[n,n&&o!==void 0?` \xB7 ${o}%`:o!==void 0?`${o}%`:""]})]}),!c&&r.jsx("div",{className:"wdup-bar",children:r.jsx("div",{className:`wdup-bar__fill${l?" wdup-bar__fill--done":u?" wdup-bar__fill--error":""}${a==="active"&&o===void 0?" wdup-bar__fill--indeterminate":""}`,style:{width:o!==void 0||l||u?`${u?100:d}%`:void 0}})})]})]})}function R1({title:e,progress:t,onDone:a,onRetry:o,onClose:n,inline:i}){const{t:l}=we.useTranslation(),{phase:c,error:u,wordCount:d,imagePage:h,imageDone:p,imageTotal:m,pairPercent:v}=t,x=uD(c),g=c==="done",b=!!u;function C(k){return b&&x===k?"error":x>k?"done":x===k?"active":"pending"}const f=C(1),w=C(2),y=C(3),A=c==="image-match"&&m?Math.round((p??0)/m*100):void 0,_=s.useMemo(()=>{if(w!=="done"){if(c==="image-list")return l("wordData.checkingPage",{page:h??1});if(c==="image-match"&&m)return l("wordData.imageCount",{done:vn(p),total:vn(m)})}},[w,c,h,m,p,l]);return r.jsx(no,{inline:i,className:"popup--word-data-update",title:e,footer:b&&o?r.jsx(ve,{htmlType:"button",size:56,variant:"main",onClick:o,children:l("common.retry","\uB2E4\uC2DC \uC2DC\uB3C4")}):b?r.jsx(ve,{htmlType:"button",size:56,variant:"main",onClick:n??a,children:l("common.close","\uB2EB\uAE30")}):r.jsx(ve,{htmlType:"button",size:56,variant:"main",disabled:!g,onClick:a,children:l("common.done","\uC644\uB8CC")}),children:r.jsxs("div",{className:"wdup-cards",children:[r.jsx(Fp,{icon:r.jsx(Qp,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseWordDownload","\uB2E8\uC5B4 \uB370\uC774\uD130 \uB2E4\uC6B4\uB85C\uB4DC"),state:f,subText:f==="active"?l("wordData.downloadingCount",{n:vn(d),count:d}):void 0}),r.jsx(Fp,{icon:r.jsx(iD,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phaseImageCheck","\uC774\uBBF8\uC9C0 \uD655\uC778"),state:w,pct:A,subText:_}),r.jsx(Fp,{icon:r.jsx(ah,{size:22,color:"var(--color-main, #29b6c8)",strokeWidth:1.8}),label:l("wordData.phasePairAnalysis","\uB2E8\uC5B4\uC30D \uBD84\uC11D"),state:y,pct:y==="active"?v??0:void 0,subText:void 0})]})})}var dD=".ihabdevteam-core-scope .debug-result-launcher{bottom:18px;display:flex;flex-direction:column;gap:var(--spacing-xs);position:fixed;right:18px;z-index:var(--z-tooltip)}.ihabdevteam-core-scope .debug-buttons{background:rgba(11,43,47,.02);border-radius:var(--radius-s);box-shadow:var(--shadow-dropdown);display:flex;flex-direction:column;gap:6px;padding:var(--spacing-xs)}.ihabdevteam-core-scope .debug-button{background:var(--color-white);border:1px solid rgba(11,43,47,.06);border-radius:var(--radius-sm);cursor:pointer;font-size:13px;min-height:24px;padding:8px 12px}.ihabdevteam-core-scope .debug-button:hover{transform:translateY(-1px)}";se(dD);function P1({enabled:e=!1,renderResultPopup:t}={}){const{t:a}=we.useTranslation(),[o,n]=s.useState(null),[i,l]=s.useState(null),c=v=>{let x=null;v==="noise"?x={score:3,contextsLength:5,results:[{sentence:"\uBB38\uC7A5 A",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 B",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 C",judgement:!0,wording:"\uC798 \uB4E4\uB9BC",useAnswer:!1},{sentence:"\uBB38\uC7A5 D",judgement:null,wording:"\uC548 \uD568",useAnswer:!1},{sentence:"\uBB38\uC7A5 E",judgement:!1,wording:"\uC548 \uB4E4\uB9BC",useAnswer:!1}]}:v==="short"?x={score:2,contextsLength:3,results:[{sentence:"\uBE44\uBE54\uBC25 \uC124\uBA85",answer:"\uBE44\uBE54\uBC25",selected:"\uBE44\uBE54\uBC25",selectedText:"\uBE44\uBE54\uBC25",correct:!0},{sentence:"\uBCF4\uC308 \uC124\uBA85",answer:"\uBCF4\uC308",selected:"\uC871\uBC1C",selectedText:"\uC871\uBC1C",correct:!1},{sentence:"\uCE7C\uAD6D\uC218 \uC124\uBA85",answer:"\uCE7C\uAD6D\uC218",selected:void 0,selectedText:void 0,correct:void 0}]}:v==="long"?x={score:4,contextsLength:4,results:[{sentence:"\uAE34 \uC774\uC57C\uAE30 1",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 1",correct:!0},{sentence:"\uAE34 \uC774\uC57C\uAE30 2",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 2",selectedText:"\uC120\uD0DD \uD14D\uC2A4\uD2B8 2",correct:!1},{sentence:"\uAE34 \uC774\uC57C\uAE30 3",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 3",selectedText:void 0,correct:void 0},{sentence:"\uAE34 \uC774\uC57C\uAE30 4",answer:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",selectedText:"\uC815\uB2F5 \uD14D\uC2A4\uD2B8 4",correct:!0}]}:v==="order"&&(x={score:1,contextsLength:2,results:[{sentence:"\uC21C\uC11C \uBB38\uC81C 1",answer:"1,2,3",selectedText:"1,2,3",correct:!0},{sentence:"\uC21C\uC11C \uBB38\uC81C 2",answer:"A,B,C",selectedText:"B,A,C",correct:!1}]}),l(x),n(v)},u=s.useCallback(()=>{n(null),l(null)},[]),d=s.useCallback(()=>c("noise"),[]),h=s.useCallback(()=>c("short"),[]),p=s.useCallback(()=>c("long"),[]),m=s.useCallback(()=>c("order"),[]);return e?r.jsxs("div",{className:"debug-result-launcher",children:[r.jsxs("div",{className:"debug-buttons",children:[r.jsx("button",{type:"button",className:"debug-button",onClick:d,children:a("debug.showResult",{type:"Noise",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),r.jsx("button",{type:"button",className:"debug-button",onClick:h,children:a("debug.showResult",{type:"ShortStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),r.jsx("button",{type:"button",className:"debug-button",onClick:p,children:a("debug.showResult",{type:"LongStory",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})}),r.jsx("button",{type:"button",className:"debug-button",onClick:m,children:a("debug.showResult",{type:"Order",defaultValue:"{{type}} \uACB0\uACFC\uBCF4\uAE30"})})]}),o&&i?t?.({score:i.score,contextsLength:i.contextsLength,results:i.results,onReplay:u,onClose:u}):null]}):null}var pD=Object.freeze({__proto__:null,Accordion:sf,ActionCard:cg,Alert:Ef,AppHeader:hf,AudioMeter:ns,AudioPlayer:Vn,Avatar:jf,Badge:Lt,BarChart:s0,BarChartControls:$d,Board:Wf,BottomNav:ud,BrandIdentity:hd,BrandLogo:o0,Breadcrumb:Lf,BulkBar:Jf,Button:ve,CORE_VERSION:Yn,Calendar:A0,CardStep:jp,ChartLegend:ts,ChartSection:as,ChartTotal:Rr,Checkbox:jd,ChoiceChips:Bv,CircleBadge:Bf,CodeBox:Zf,ColorPicker:$f,CompanyMeta:Yf,ConfirmPopup:Pp,ConfirmStep:Ep,ConfirmWithTextStep:Dp,ContrastFilterPanel:g1,CoreScope:ug,CountTile:Pf,CouponInputPopup:x1,DEFAULT_NOISE_SETTINGS:Do,DatePicker:t0,DebugResultLauncher:P1,DescriptionTooltip:ko,DeviceSideTable:k0,Dialog:Ff,Divider:Af,Dropdown:xa,EffectPartyPopper:js,EffectPartyPopperHost:y1,EmptyState:sg,ErrorState:lg,FILTER_ALL_VALUE:$t,FileUpload:Tf,FilterPanel:Ya,FilterSectionInfo:Mr,Footer:Av,GameIntro:c0,Header:md,Icon:ot,IconGridMenu:kv,IconRenderer:ot,InfoTooltip:La,ItemActions:Qf,LEVEL_MAX:or,LINE_CHART_HOVER_DELAY_MS:Pd,LandingBottomSticky:Ev,LandingHeader:Sv,LineChart:l0,ListPopup:f1,ListenStep:Sp,Loader:$r,MARKS:Fn,MARK_ICON:Kd,MARK_VARIANT:Xd,MediaQueryOverrideContext:$i,MenuTooltip:Tr,NOISE_RATIO_MAX:Or,NOISE_RATIO_STEP:dp,NoisePlayerContext:vs,NoiseSettingsTooltip:yp,NoticeBox:pg,NotifyTextPreview:a0,OrderListStep:Np,PASS_CARD_BG_VARS:Bo,POS_LABEL:Jd,PROMO_BANNER_BG_COMPONENTS:Au,PROMO_BANNER_BG_OPTIONS:fg,PROMO_BANNER_BG_VARS:Dr,Page:qn,PageTitle:_1,Pagination:Pn,Panel:Un,PanelGrid:Yv,PanelRow:Xa,PanelRowDevice:qv,PassCard:xd,PassCardBg:yf,PassCardBgIHAB:_f,PassCardBgLeftColorGrid:wf,PassCardBgTwoCircle:vd,PaymentPlan:Cf,PersonCard:Gf,PhonemeFilterPanel:b1,PhonemeSelectBlock:h1,Popup:no,ProgressBar:v0,ProgressIndicator:Gd,PromoBanner:rf,PromoBannerBgDark:du,PromoBannerBgDeep:nu,PromoBannerBgDiagonal:bu,PromoBannerBgDots:fu,PromoBannerBgInstagram:Bu,PromoBannerBgMain:Qc,PromoBannerBgNaver:wu,PromoBannerBgOutline:xu,PromoBannerBgRadial:hu,PromoBannerBgSoft:tu,PromoBannerBgSoftSub:su,PromoBannerBgSub:ou,PromoBannerBgSuccess:yu,PromoBannerBgWarm:cu,PublicationCard:Vf,Radio:kd,RadioGroup:Sf,Rating:Mf,ReportDocument:E1,ReportInfoPanel:D1,RingChart:b0,SENTENCE_TRAINING_TYPES:bs,SearchSummary:Df,Section:er,SectionHeadFloat:Ld,SectionHeader:qf,SegmentedControl:Ra,ShortcutBadge:wd,SideNav:dd,Slider:Id,SoundCompass:kf,SplashLogo:Uf,StatChart:g0,SummaryStrip:S1,TRAINING_TOOLTIP_HOVER_DELAY_MS:Bd,Table:is,TableFilterPanel:ps,Tabs:Nf,TextBoxTooltip:Wr,TextField:So,Timeline:Hf,Toast:Qo,Toggle:Nd,Toolbar:Qi,Tooltip:ka,TooltipInfo:La,TooltipTextBox:Wr,TopBanner:nf,TrainingBlock:D0,TrainingBlockButton:Ji,TrainingBlockGrid:N0,TrainingCard:j1,TrainingCardGroup:T1,TrainingPagePopup:so,TrainingPagePopupBottom:_p,TrainingPagePopupTitle:wp,TrainingResultPopup:Lp,TrainingStep:No,TrainingStepAudioPlayer:Vn,TrainingStepBullet:bp,TrainingStepCard:xp,TrainingStepConfirm:ys,TrainingStepConfirmWithText:_s,TrainingStepListen:ws,TrainingStepOrderList:ks,TrainingStepTextBox:vp,TrainingStepTitle:gp,TrainingTooltip:Ad,TrainingWordCard:cs,UpdateAlert:N1,WAVE_A_MAX:$v,WAVE_H1_PX:Cs,WAVE_HMAX_PX:Mv,WORD_LABEL_I18N_KEYS:$0,WORD_TABLE_PAPER:tr,WORD_TYPE_LABEL:Qd,WordDataProvider:A1,WordDataUpdatePopup:R1,WordImageTooltip:Rp,WordSearchFilterPanel:m1,WordSearchResultBlock:p1,WordTable:ar,WordTableBlock:M1,WordTableButton:$1,WordTablePopup:J0,WordTableThumbnail:Op,buildMonthChartData:r0,cellKey:nv,cellLabel:rv,cellsForLabels:fv,clearPassCardBgTheme:Ua,clearPromoBannerBgTheme:Zt,closeTrainingPopup:Xv,companyTypeLabel:w1,createTrainingScenario:e1,cx:Se,deriveNoiseContexts:i1,derivePassCard:bd,draftValues:wv,effectiveNoiseVolume:gs,effectiveSpeechVolume:pp,expandSlashLabel:ds,formatDuration:vv,getControlDateRange:p0,getPayloadTimestamp:As,getPromoBannerBgTheme:Ri,getSelectedFromPayload:a1,getSelectedText:o1,getStepPayload:Ap,getSteppedPayload:r1,injectPassCardBgTheme:Va,injectPromoBannerBgTheme:Xt,isSelectionCorrect:n1,labelOfCellKey:cp,labelsForSave:ov,levelToPct:Dv,markAfterClick:Yd,marksForSave:us,mergeNoiseSettings:Eo,missesByType:hv,monthKeyOf:Pr,monthKeyOfDate:os,nextFocus:uv,nextMisses:pv,noiseElementVolume:fs,noiseRatioOf:Fr,pageStartIndexes:Zd,parseMonthKey:Jo,passCardBgIhabTheme:yd,passCardBgLeftColorGridTheme:_d,passCardBgTwoCircleTheme:fd,pctToLevel:Nv,posLabels:ap,printWordTable:L0,promoBannerBgDarkTheme:uu,promoBannerBgDeepTheme:ru,promoBannerBgDiagonalTheme:mu,promoBannerBgDotsTheme:gu,promoBannerBgInstagramTheme:ku,promoBannerBgMainTheme:Jc,promoBannerBgNaverTheme:_u,promoBannerBgOutlineTheme:vu,promoBannerBgRadialTheme:pu,promoBannerBgSoftSubTheme:iu,promoBannerBgSoftTheme:eu,promoBannerBgSubTheme:au,promoBannerBgSuccessTheme:Cu,promoBannerBgWarmTheme:lu,recommendTables:bv,regenerateUnpinned:_v,removeItem:yv,resolveTrainingItems:Qv,resolveTrainingPopupMeta:kp,reviewCells:Q0,reviewMeta:av,reviewSetPlan:mv,reviewTableName:tv,scoreKey:On,scoreSheetHeader:iv,shouldConfirmDiscard:T0,splitTrainingVariants:Zv,summarize:j0,summarizeMisses:dv,tableTrends:cv,toDraft:xv,toTrainingText:t1,togglePin:Cv,uncoveredLabels:gv,useAnchoredMenu:Zo,useBarChartControl:Md,useCalendarMonth:Td,useComboboxSuggestions:Ed,useDiscardGuard:v1,useFitScale:rp,useNoisePlayer:Wn,useSoundCompassExam:rd,useToastLifecycle:Wd,useWordData:B1,useWordTableDisplaySettings:lp,useWordTablePrint:ms,waveBarPx:Gn,waveBarVal:Hn,weakItems:lv,weekValueOf:rs,withStepTimes:Bp,wordTypeLabels:op}),hD=Object.freeze({__proto__:null});const mD={...pD,...jB,...h3,...hD};exports.Accordion=sf,exports.ActionCard=cg,exports.Alert=Ef,exports.AppHeader=hf,exports.AudioMeter=ns,exports.AudioPlayer=Vn,exports.Avatar=jf,exports.Badge=Lt,exports.BarChart=s0,exports.BarChartControls=$d,exports.Board=Wf,exports.BottomNav=ud,exports.BrandIdentity=hd,exports.BrandLogo=o0,exports.Breadcrumb=Lf,exports.BulkBar=Jf,exports.Button=ve,exports.CACHE_GROUPS=Nu,exports.CAPABILITY=fr,exports.CHOSEONG=bt,exports.CORE_VERSION=Yn,exports.Calendar=A0,exports.CardStep=jp,exports.ChartLegend=ts,exports.ChartSection=as,exports.ChartTotal=Rr,exports.Checkbox=jd,exports.ChoiceChips=Bv,exports.CircleBadge=Bf,exports.CodeBox=Zf,exports.ColorPicker=$f,exports.CompanyMeta=Yf,exports.ConfirmPopup=Pp,exports.ConfirmStep=Ep,exports.ConfirmWithTextStep=Dp,exports.ContrastFilterPanel=g1,exports.CoreScope=ug,exports.CountTile=Pf,exports.CouponInputPopup=x1,exports.DEFAULT_LOCALE=Lo,exports.DEFAULT_NOISE_SETTINGS=Do,exports.DatePicker=t0,exports.DebugResultLauncher=P1,exports.DescriptionTooltip=ko,exports.DeviceSideTable=k0,exports.Dialog=Ff,exports.Divider=Af,exports.DocumentTitleSuppressContext=Eu,exports.Dropdown=xa,exports.EMPTY_COMPOSITION=Oi,exports.EffectPartyPopper=js,exports.EffectPartyPopperHost=y1,exports.EmptyState=sg,exports.ErrorState=lg,exports.FILTER_ALL_VALUE=$t,exports.FileUpload=Tf,exports.FilterPanel=Ya,exports.FilterSectionInfo=Mr,exports.Footer=Av,exports.GameIntro=c0,exports.Header=md,exports.I18nProvider=qC,exports.Icon=ot,exports.IconGridMenu=kv,exports.IconRenderer=ot,exports.InfoTooltip=La,exports.ItemActions=Qf,exports.JONGSEONG=It,exports.JUNGSEONG=Bt,exports.LEVEL_MAX=or,exports.LINE_CHART_HOVER_DELAY_MS=Pd,exports.LMS_BYTE_LIMIT=Qh,exports.LOCALE_STORAGE_KEY=$s,exports.LONG_STORIES=yo,exports.LandingBottomSticky=Ev,exports.LandingHeader=Sv,exports.LineChart=l0,exports.ListPopup=f1,exports.ListenStep=Sp,exports.Loader=$r,exports.MARKS=Fn,exports.MARK_ICON=Kd,exports.MARK_VARIANT=Xd,exports.MediaQueryOverrideContext=$i,exports.MenuTooltip=Tr,exports.NETWORK_ERROR_MESSAGE=mi,exports.NOISE_DATAS=xo,exports.NOISE_RATIO_MAX=Or,exports.NOISE_RATIO_STEP=dp,exports.NO_CODA=Ma,exports.NoisePlayerContext=vs,exports.NoiseSettingsTooltip=yp,exports.NoticeBox=pg,exports.NotifyTextPreview=a0,exports.ORDER_SETS=_o,exports.OrderListStep=Np,exports.PASS_CARD_BG_VARS=Bo,exports.PERSONAL_PHONE_REGEX=xc,exports.PHONE_REGEX=vc,exports.PLAN_FEATURES=Hb,exports.PLAN_LIMITS=qb,exports.POS_LABEL=Jd,exports.PROMO_BANNER_BG_COMPONENTS=Au,exports.PROMO_BANNER_BG_OPTIONS=fg,exports.PROMO_BANNER_BG_VARS=Dr,exports.Page=qn,exports.PageTitle=_1,exports.Pagination=Pn,exports.Panel=Un,exports.PanelGrid=Yv,exports.PanelRow=Xa,exports.PanelRowDevice=qv,exports.PassCard=xd,exports.PassCardBg=yf,exports.PassCardBgIHAB=_f,exports.PassCardBgLeftColorGrid=wf,exports.PassCardBgTwoCircle=vd,exports.PaymentPlan=Cf,exports.PersonCard=Gf,exports.PhonemeFilterPanel=b1,exports.PhonemeSelectBlock=h1,exports.Popup=no,exports.ProgressBar=v0,exports.ProgressIndicator=Gd,exports.PromoBanner=rf,exports.PromoBannerBgDark=du,exports.PromoBannerBgDeep=nu,exports.PromoBannerBgDiagonal=bu,exports.PromoBannerBgDots=fu,exports.PromoBannerBgInstagram=Bu,exports.PromoBannerBgMain=Qc,exports.PromoBannerBgNaver=wu,exports.PromoBannerBgOutline=xu,exports.PromoBannerBgRadial=hu,exports.PromoBannerBgSoft=tu,exports.PromoBannerBgSoftSub=su,exports.PromoBannerBgSub=ou,exports.PromoBannerBgSuccess=yu,exports.PromoBannerBgWarm=cu,exports.PublicationCard=Vf,exports.Radio=kd,exports.RadioGroup=Sf,exports.Rating=Mf,exports.ReportDocument=E1,exports.ReportInfoPanel=D1,exports.RingChart=b0,exports.SENTENCE_TRAINING_TYPES=bs,exports.SHORT_STORIES=Co,exports.SMS_BYTE_LIMIT=Jh,exports.SUPPORTED_LOCALES=Hr,exports.SYLLABLE_MIN=$a,exports.SearchSummary=Df,exports.Section=er,exports.SectionHeadFloat=Ld,exports.SectionHeader=qf,exports.SegmentedControl=Ra,exports.ShortcutBadge=wd,exports.SideNav=dd,exports.Slider=Id,exports.SoundCompass=kf,exports.SplashLogo=Uf,exports.StatChart=g0,exports.SummaryStrip=S1,exports.TIER_RANK=Vb,exports.TOPIC_TYPES=Bb,exports.TRAINING_TOOLTIP_HOVER_DELAY_MS=Bd,exports.TRAINING_TYPES=jc,exports.TRAINING_TYPE_I18N_KEY=ki,exports.Table=is,exports.TableFilterPanel=ps,exports.Tabs=Nf,exports.TextBoxTooltip=Wr,exports.TextField=So,exports.Timeline=Hf,exports.Toast=Qo,exports.Toggle=Nd,exports.Toolbar=Qi,exports.Tooltip=ka,exports.TooltipInfo=La,exports.TooltipTextBox=Wr,exports.TopBanner=nf,exports.TrainingBlock=D0,exports.TrainingBlockButton=Ji,exports.TrainingBlockGrid=N0,exports.TrainingCard=j1,exports.TrainingCardGroup=T1,exports.TrainingPagePopup=so,exports.TrainingPagePopupBottom=_p,exports.TrainingPagePopupTitle=wp,exports.TrainingResultPopup=Lp,exports.TrainingStep=No,exports.TrainingStepAudioPlayer=Vn,exports.TrainingStepBullet=bp,exports.TrainingStepCard=xp,exports.TrainingStepConfirm=ys,exports.TrainingStepConfirmWithText=_s,exports.TrainingStepListen=ws,exports.TrainingStepOrderList=ks,exports.TrainingStepTextBox=vp,exports.TrainingStepTitle=gp,exports.TrainingTooltip=Ad,exports.TrainingWordCard=cs,exports.UpdateAlert=N1,exports.VAP_PAGE_SIZE_OPTIONS=Ko,exports.WAVE_A_MAX=$v,exports.WAVE_H1_PX=Cs,exports.WAVE_HMAX_PX=Mv,exports.WORD_LABEL_I18N_KEYS=$0,exports.WORD_SUGGESTION_ACCOUNT_LIMIT=Xb,exports.WORD_SUGGESTION_EXISTING_ERROR=Jb,exports.WORD_SUGGESTION_WEEKLY_QUOTA=Kb,exports.WORD_TABLE_PAPER=tr,exports.WORD_TYPE_LABEL=Qd,exports.WordDataProvider=A1,exports.WordDataUpdatePopup=R1,exports.WordImageTooltip=Rp,exports.WordSearchFilterPanel=m1,exports.WordSearchResultBlock=p1,exports.WordTable=ar,exports.WordTableBlock=M1,exports.WordTableButton=$1,exports.WordTablePopup=J0,exports.WordTableThumbnail=Op,exports.applyFontScale=Bc,exports.applyTheme=wc,exports.balancedColumns=jl,exports.buildChangeWholeSyllableProblem=ic,exports.buildDropCompoundProblem=tc,exports.buildDropContrast3Problem=ec,exports.buildDropContrastProblem=Ql,exports.buildDropFinalConsonantProblem=ac,exports.buildGradeSection=Ru,exports.buildMonthChartData=r0,exports.buildMultiPartPosContrast=Dl,exports.buildPairIndex=mm,exports.buildPartOfSpeechSection=Pu,exports.buildPositionSection=$g,exports.buildRemoveConsonantProblem=rc,exports.buildSelectSection=Mg,exports.buildSyllableMaskIndex=nc,exports.buildSyllableSection=Lg,exports.buildWordTypeSection=zu,exports.bulkSetImageExistence=Zh,exports.cardQuestionTitle=jm,exports.cellKey=nv,exports.cellLabel=rv,exports.cellsForLabels=fv,exports.charToPronValue=Gu,exports.checkImageExists=ei,exports.classifyPairDifficulty=hl,exports.clearAudioExistsCache=Rh,exports.clearImageExistenceCache=ll,exports.clearPairIndexCache=Al,exports.clearPassCardBgTheme=Ua,exports.clearPromoBannerBgTheme=Zt,exports.closeTrainingPopup=Xv,exports.columnsFitting=Nl,exports.companyTypeLabel=w1,exports.composeSyllable=Da,exports.computeDailySelection=Sc,exports.configureImageResolver=Gh,exports.configureNoiseSettingsStore=ib,exports.configurePronunciationResolver=zh,exports.configureStorage=Zs,exports.configureTTS=$h,exports.configureTrainingCategories=gb,exports.convertComposition=Vu,exports.copyText=fc,exports.createDecompCache=pl,exports.createTTSUrlResolver=cb,exports.createTrainingScenario=e1,exports.cx=Se,exports.dateToDb=bb,exports.default=mD,exports.deriveNoiseContexts=i1,exports.derivePassCard=bd,exports.downloadCsvText=Pm,exports.downloadSound=Zn,exports.draftValues=wv,exports.effectiveNoiseVolume=gs,exports.effectiveSpeechVolume=pp,exports.ensureTrainingDataLoaded=Nc,exports.escapeCsvField=Rm,exports.eucKrBytes=oi,exports.expandSlashLabel=ds,exports.fileExists=Js,exports.filterContrastCandidates=El,exports.finalToPhoneme=zo,exports.firstChoseongOf=ml,exports.fmtBytes=_g,exports.formatCount=vn,exports.formatDateKo=Hm,exports.formatDateLocale=bi,exports.formatDateLongKo=Vm,exports.formatDateLongLocale=qm,exports.formatDatetimeKo=Ym,exports.formatDuration=vv,exports.formatPhone=ub,exports.formatRelativeTime=fi,exports.formatTimeHM=yi,exports.formatYmd=vi,exports.getAssetBaseUrl=Ks,exports.getControlDateRange=p0,exports.getDailySelection=wb,exports.getElementAnalyser=il,exports.getElementVolume=dr,exports.getErrorMessage=mn,exports.getImageExistenceStats=ti,exports.getImageExistsCached=Kh,exports.getImageResolver=go,exports.getNoiseBaseUrl=Qs,exports.getNoiseFileGain=el,exports.getPairIndex=Oo,exports.getPayloadTimestamp=As,exports.getPlanTier=Yb,exports.getPromoBannerBgTheme=Ri,exports.getPronunciationResolver=al,exports.getSavedFontScale=kc,exports.getSavedTheme=_c,exports.getSelectedFromPayload=a1,exports.getSelectedText=o1,exports.getSignedOrPublicUrl=Zr,exports.getStepPayload=Ap,exports.getSteppedPayload=r1,exports.getTTSFallbackUrlResolver=Jr,exports.getTTSUrlResolver=Ro,exports.getTodayKst=wa,exports.getTodayKstDate=vo,exports.getTopicTypes=_i,exports.getTrainingPools=Ec,exports.getTrainingTypes=yc,exports.getWordPool=Ho,exports.gradeDescriptions=Ku,exports.hasQuestionWordConstraint=Am,exports.hasSel=Ot,exports.hasStructureContrast=nn,exports.initFontScale=yb,exports.initTheme=xb,exports.injectPassCardBgTheme=Va,exports.injectPromoBannerBgTheme=Xt,exports.installSkewRecovery=tg,exports.isAllChoseong=gl,exports.isManagerTier=Ub,exports.isManualOnlyType=Em,exports.isNetworkErrorMessage=sc,exports.isPersonalPhone=hb,exports.isSelectionCorrect=n1,exports.isSessionForThisTab=ag,exports.isSyllablePattern=yl,exports.isThisWeekPick=Zb,exports.isTrainingDataLoaded=kb,exports.isValidPhone=pb,exports.isValidQuestionWord=Sm,exports.itemCorrectness=mc,exports.jamoToNamesForSpeech=Tm,exports.kstStartOfDay=gi,exports.labelOfCellKey=cp,exports.labelsForSave=ov,exports.lazyPage=og,exports.levelToPct=Dv,exports.loadGameLeaderboard=nb,exports.loadMyGameRanks=rb,exports.loadNoiseSettings=gc,exports.loadTrainingData=Dc,exports.logCrossword=Gm,exports.logTrainingCompletion=uc,exports.logTrainingTime=cc,exports.lsBytes=ju,exports.markAfterClick=Yd,exports.marksForSave=us,exports.matchSyllables=Wo,exports.matchesChoseongSearch=tm,exports.matchesSyllablePattern=_l,exports.matchesWordQuery=am,exports.meaningKey=Wi,exports.measureSmsText=ul,exports.mergeNoiseSettings=Eo,exports.mergeQuestionText=Zl,exports.minimalPairDistractors=ni,exports.missesByType=hv,exports.monthKeyOf=Pr,exports.monthKeyOfDate=os,exports.nextFocus=uv,exports.nextMisses=pv,exports.noiseElementVolume=fs,exports.noiseRatioOf=Fr,exports.normalizeDate=mb,exports.normalizeWordAttributeFilter=Eb,exports.officialSoundPath=lb,exports.pageStartIndexes=Zd,exports.parseLocalYmd=hc,exports.parseMonthKey=Jo,exports.parseSortValue=$m,exports.parseSyllable=Ye,exports.passCardBgIhabTheme=yd,exports.passCardBgLeftColorGridTheme=_d,exports.passCardBgTwoCircleTheme=fd,exports.patternToComposition=um,exports.pctToLevel=Nv,exports.phonemePartsOf=Nm,exports.pickEuRo=Ul,exports.pickEulReul=Wl,exports.pickEunNeun=Hl,exports.pickIga=Ol,exports.pickWaGwa=Vl,exports.posLabels=ap,exports.prefetchChunk=rg,exports.prewarmImageCache=Xh,exports.primarySelPart=xr,exports.printWordTable=L0,exports.promoBannerBgDarkTheme=uu,exports.promoBannerBgDeepTheme=ru,exports.promoBannerBgDiagonalTheme=mu,exports.promoBannerBgDotsTheme=gu,exports.promoBannerBgInstagramTheme=ku,exports.promoBannerBgMainTheme=Jc,exports.promoBannerBgNaverTheme=_u,exports.promoBannerBgOutlineTheme=vu,exports.promoBannerBgRadialTheme=pu,exports.promoBannerBgSoftSubTheme=iu,exports.promoBannerBgSoftTheme=eu,exports.promoBannerBgSubTheme=au,exports.promoBannerBgSuccessTheme=Cu,exports.promoBannerBgWarmTheme=lu,exports.pronToCharValue=Hu,exports.readLevel=sl,exports.recommendTables=bv,exports.recoverFromSkew=Ti,exports.regenerateUnpinned=_v,exports.removeItem=yv,exports.reorderArray=ql,exports.reportAppliedNoiseSettings=wr,exports.resolveAssetUrl=Xr,exports.resolveSoundPath=Xn,exports.resolveTrainingItems=Qv,exports.resolveTrainingPopupMeta=kp,exports.resumeAudioMeter=en,exports.reviewCells=Q0,exports.reviewMeta=av,exports.reviewSetPlan=mv,exports.reviewTableName=tv,exports.routeElementAudio=ur,exports.sample=ja,exports.saveLocale=HC,exports.saveNoiseSettings=gn,exports.scoreKey=On,exports.scoreSheetHeader=iv,exports.searchAndRankWords=pm,exports.setAssetBaseUrl=Lh,exports.setCrosswordLogger=Wm,exports.setElementVolume=za,exports.setGameLeaderboardLoader=ab,exports.setGameRanksLoader=tb,exports.setGameScoreSubmitter=eb,exports.setTrainingCompletionLogger=Fm,exports.setTrainingTimeLogger=Om,exports.setWordPool=Im,exports.shouldConfirmDiscard=T0,exports.shuffle=st,exports.skewReloadPending=Gc,exports.smsTypeFor=cl,exports.sortToValue=Mm,exports.soundOf=hi,exports.speak=Ys,exports.splitTrainingVariants=Zv,exports.stopSpeaking=Kr,exports.submitGameScore=ob,exports.summarize=j0,exports.summarizeMisses=dv,exports.syllMatchesComp=eo,exports.syllableContrasts=Go,exports.syllableLength=Io,exports.syllablePron=hn,exports.syllableToFilter=Ii,exports.tableTrends=cv,exports.toBase64UrlSafe=sb,exports.toChoseong=bl,exports.toDraft=xv,exports.toItemResults=bc,exports.toKstHm=Km,exports.toKstYmd=Wa,exports.toStandardPronunciation=_m,exports.toStorageName=fn,exports.toTrainingText=t1,exports.toUserErrorMessage=Lm,exports.toWordAttributeFilterCodes=Bi,exports.toWordEntry=ng,exports.today=jr,exports.toggleAttributeFilter=Rg,exports.togglePin=Cv,exports.uncoveredLabels=gv,exports.useAnchoredMenu=Zo,exports.useBarChartControl=Md,exports.useCacheManagement=wg,exports.useCalendarMonth=Td,exports.useComboboxSuggestions=Ed,exports.useDailyTrainingSelection=Jg,exports.useDelayedHoverAnchor=ad,exports.useDeviceManagement=Tg,exports.useDiscardGuard=v1,exports.useDocumentTitle=Du,exports.useEscToClose=Qu,exports.useFitScale=rp,exports.useFontScale=Pi,exports.useHoverAnchor=Xo,exports.useI18n=VC,exports.useInlineSvg=sd,exports.useListControls=tf,exports.useMediaQuery=ua,exports.useNoisePlayer=Wn,exports.usePageResetOnChange=od,exports.usePagedList=ef,exports.usePasswordChange=yg,exports.useRelativeDay=Cg,exports.useSoundCompassExam=rd,exports.useTablePaging=Lu,exports.useTableSort=Mu,exports.useToastLifecycle=Wd,exports.useToastState=Hi,exports.useTrainingTypeLabels=af,exports.useVisitAllPanel=Dg,exports.useVisitHistory=Ag,exports.useVisitSchedule=Eg,exports.useWindowEvent=Nr,exports.useWordAttributeFilterKeys=$u,exports.useWordData=B1,exports.useWordDataStats=kg,exports.useWordMeanings=Qg,exports.useWordTableDisplaySettings=lp,exports.useWordTablePrint=ms,exports.useWordTrainingDataGeneration=Xg,exports.useWordTrainingFilter=Kg,exports.validateSyllableSearchInput=dm,exports.valueToJamos=Ha,exports.waveBarPx=Gn,exports.waveBarVal=Hn,exports.weakItems=lv,exports.weekValueOf=rs,exports.withEuRo=Bm,exports.withEulReul=Gl,exports.withEunNeun=wm,exports.withIga=Fl,exports.withStepTimes=Bp,exports.withWaGwa=km,exports.wordAttributeFilterFromCodes=Ai,exports.wordContainsChoseong=rm,exports.wordContainsJongseong=sm,exports.wordContainsJungseong=nm,exports.wordHasConsonantAt=lm,exports.wordHasNoCoda=vl,exports.wordHasSyllableMatching=Cl,exports.wordTypeLabels=op,exports.wrongItems=Xm;