PageSourceSearch

https://www.rolko.xyz/_next/static/immutable/chunks/0o79hsum88ten.js

js rolko.xyz collected 2026-10-02 02:11:52 UTC 49,240 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,65198,e=>{"use strict";var t=e.i(43476),n=e.i(1583);e.s(["BrandMark",0,function({className:e="",...i}){return(0,t.jsx)("svg",{...i,viewBox:n.BRAND_MARK_VIEWBOX,className:e,"aria-hidden":"true",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:n.BRAND_MARK_PATH})})}])},93366,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(428),a=e.i(65198);let r={成都:{headword:"成都",traditional:"成都",pinyin:"Chéngdū",meaning:"Chengdu, capital of Sichuan province"},小吃:{headword:"小吃",traditional:"小吃",pinyin:"xiǎochī",meaning:"snack; street food; light meal"},真的:{headword:"真的",traditional:"真的",pinyin:"zhēn de",meaning:"really; truly; genuinely"},太:{headword:"太",traditional:"太",pinyin:"tài",meaning:"too; excessively; very"},好吃:{headword:"好吃",traditional:"好吃",pinyin:"hǎochī",meaning:"delicious; tasty; yummy"},了:{headword:"了",traditional:"了",pinyin:"le",meaning:"completed-action particle"},的:{headword:"的",traditional:"的",pinyin:"de",meaning:"possessive or descriptive particle"},都:{headword:"都",traditional:"都",pinyin:"dōu",meaning:"all; both; entirely"},从:{headword:"从",traditional:"從",pinyin:"cóng",meaning:"from; since; through"},到:{headword:"到",traditional:"到",pinyin:"dào",meaning:"to arrive; until; to"},又:{headword:"又",traditional:"又",pinyin:"yòu",meaning:"again; also; and yet"},得:{headword:"得",traditional:"得",pinyin:"de",meaning:"structural particle after a verb"},对:{headword:"对",traditional:"對",pinyin:"duì",meaning:"toward; for; correct"},让:{headword:"让",traditional:"讓",pinyin:"ràng",meaning:"to let; to make; to yield"},说:{headword:"说",traditional:"說",pinyin:"shuō",meaning:"to speak; to say"},就:{headword:"就",traditional:"就",pinyin:"jiù",meaning:"then; just; exactly"},街头巷尾:{headword:"街头巷尾",traditional:"街頭巷尾",pinyin:"jiētóu xiàngwěi",meaning:"every corner of the streets; all around town"},藏着:{headword:"藏着",traditional:"藏著",pinyin:"cángzhe",meaning:"hidden; tucked away; concealing"},无数:{headword:"无数",traditional:"無數",pinyin:"wúshù",meaning:"countless; innumerable"},美食:{headword:"美食",traditional:"美食",pinyin:"měishí",meaning:"delicious food; gourmet food"},每一口:{headword:"每一口",traditional:"每一口",pinyin:"měi yī kǒu",meaning:"every bite; each mouthful"},让人:{headword:"让人",traditional:"讓人",pinyin:"ràng rén",meaning:"to make one feel; to cause someone to"},回味无穷:{headword:"回味无穷",traditional:"回味無窮",pinyin:"huíwèi wúqióng",meaning:"leaves a lasting impression; endlessly satisfying"},热辣辣:{headword:"热辣辣",traditional:"熱辣辣",pinyin:"rè là là",meaning:"burning hot and spicy"},火锅:{headword:"火锅",traditional:"火鍋",pinyin:"huǒguō",meaning:"hot pot (Chinese dish)"},香脆:{headword:"香脆",traditional:"香脆",pinyin:"xiāngcuì",meaning:"fragrant and crispy"},串串:{headword:"串串",traditional:"串串",pinyin:"chuànchuàn",meaning:"skewer snacks; Chengdu-style hot pot on sticks"},这座城市:{headword:"这座城市",traditional:"這座城市",pinyin:"zhè zuò chéngshì",meaning:"this city"},就是:{headword:"就是",traditional:"就是",pinyin:"jiùshì",meaning:"exactly is; is nothing but"},吃货:{headword:"吃货",traditional:"吃貨",pinyin:"chīhuò",meaning:"foodie; food lover (slang)"},天堂:{headword:"天堂",traditional:"天堂",pinyin:"tiāntáng",meaning:"paradise; heaven"},我们:{headword:"我们",traditional:"我們",pinyin:"wǒmen",meaning:"we; us; our"},一行人:{headword:"一行人",traditional:"一行人",pinyin:"yī háng rén",meaning:"a group of people; a traveling party"},专程:{headword:"专程",traditional:"專程",pinyin:"zhuānchéng",meaning:"specially; making a special trip for this purpose"},去了:{headword:"去了",traditional:"去了",pinyin:"qù le",meaning:"went; have gone to"},宽窄巷子:{headword:"宽窄巷子",traditional:"寬窄巷子",pinyin:"Kuānzhǎi Xiàngzi",meaning:"Wide and Narrow Alleys (historic area in Chengdu)"},那里:{headword:"那里",traditional:"那裡",pinyin:"nàlǐ",meaning:"there; that place"},小吃摊:{headword:"小吃摊",traditional:"小吃攤",pinyin:"xiǎochī tān",meaning:"snack stall; street food stand"},一家接一家:{headword:"一家接一家",traditional:"一家接一家",pinyin:"yī jiā jiē yī jiā",meaning:"one after another; stall after stall"},香味:{headword:"香味",traditional:"香味",pinyin:"xiāngwèi",meaning:"aroma; fragrance; pleasant smell"},扑鼻而来:{headword:"扑鼻而来",traditional:"撲鼻而來",pinyin:"pū bí ér lái",meaning:"waft to one's nostrils; hit you in the nose"},完全:{headword:"完全",traditional:"完全",pinyin:"wánquán",meaning:"completely; entirely; totally"},不知道:{headword:"不知道",traditional:"不知道",pinyin:"bù zhīdao",meaning:"don't know; have no idea"},哪里:{headword:"哪里",traditional:"哪裡",pinyin:"nǎlǐ",meaning:"where; wherever"},开始:{headword:"开始",traditional:"開始",pinyin:"kāishǐ",meaning:"to start; to begin"},吃:{headword:"吃",traditional:"吃",pinyin:"chī",meaning:"to eat"},先:{headword:"先",traditional:"先",pinyin:"xiān",meaning:"first; in advance"},点了:{headword:"点了",traditional:"點了",pinyin:"diǎn le",meaning:"ordered (food)"},一份:{headword:"一份",traditional:"一份",pinyin:"yī fèn",meaning:"one portion; a serving of"},麻辣:{headword:"麻辣",traditional:"麻辣",pinyin:"málà",meaning:"numbing and spicy; Sichuan-style spicy"},辣得过瘾:{headword:"辣得过瘾",traditional:"辣得過癮",pinyin:"là de guò yǐn",meaning:"spicy enough to be satisfying; pleasantly burning hot"},停不下来:{headword:"停不下来",traditional:"停不下來",pinyin:"tíng bù xià lái",meaning:"can't stop; unable to stop"},接着:{headword:"接着",traditional:"接著",pinyin:"jiēzhe",meaning:"then; next; following that"},喝了:{headword:"喝了",traditional:"喝了",pinyin:"hē le",meaning:"drank; had (a drink)"},一碗:{headword:"一碗",traditional:"一碗",pinyin:"yī wǎn",meaning:"one bowl of"}
1,热腾腾:{headword:"热腾腾",traditional:"熱騰騰",pinyin:"rè téng téng",meaning:"steaming hot; piping hot"},豆花:{headword:"豆花",traditional:"豆花",pinyin:"dòuhuā",meaning:"soft tofu pudding; tofu flower"},甜辣交替:{headword:"甜辣交替",traditional:"甜辣交替",pinyin:"tián là jiāotì",meaning:"sweet and spicy alternating; a sweet-spicy mix"},层次:{headword:"层次",traditional:"層次",pinyin:"céngcì",meaning:"layers; levels; depth of flavor"},丰富:{headword:"丰富",traditional:"豐富",pinyin:"fēngfù",meaning:"rich; abundant; varied"},惊喜:{headword:"惊喜",traditional:"驚喜",pinyin:"jīngxǐ",meaning:"pleasant surprise; delightfully unexpected"},成都人:{headword:"成都人",traditional:"成都人",pinyin:"Chéngdū rén",meaning:"people from Chengdu; Chengdu locals"},饮食:{headword:"饮食",traditional:"飲食",pinyin:"yǐnshí",meaning:"food and drink; diet; eating habits"},用心:{headword:"用心",traditional:"用心",pinyin:"yòngxīn",meaning:"attentive; put one's heart into; with care"},外地人:{headword:"外地人",traditional:"外地人",pinyin:"wài dì rén",meaning:"outsider; someone from another place"},叹为观止:{headword:"叹为观止",traditional:"嘆為觀止",pinyin:"tàn wéi guān zhǐ",meaning:"be filled with admiration; a sight to behold"},难怪:{headword:"难怪",traditional:"難怪",pinyin:"nánguài",meaning:"no wonder; it's not surprising that"},大家:{headword:"大家",traditional:"大家",pinyin:"dàjiā",meaning:"everyone; everybody"},来了:{headword:"来了",traditional:"來了",pinyin:"lái le",meaning:"have come; once you've come"},不想:{headword:"不想",traditional:"不想",pinyin:"bù xiǎng",meaning:"don't want to; have no desire to"},离开了:{headword:"离开了",traditional:"離開了",pinyin:"lí kāi le",meaning:"left; to leave"},昨天:{headword:"昨天",traditional:"昨天",pinyin:"zuótiān",meaning:"yesterday"},去:{headword:"去",traditional:"去",pinyin:"qù",meaning:"to go; to leave"},和:{headword:"和",traditional:"和",pinyin:"hé",meaning:"and; together with"},超级:{headword:"超级",traditional:"超級",pinyin:"chāojí",meaning:"super; ultra; extremely"},推荐:{headword:"推荐",traditional:"推薦",pinyin:"tuījiàn",meaning:"to recommend; recommendation"},下次:{headword:"下次",traditional:"下次",pinyin:"xià cì",meaning:"next time"},一定:{headword:"一定",traditional:"一定",pinyin:"yīdìng",meaning:"definitely; certainly; must"},要:{headword:"要",traditional:"要",pinyin:"yào",meaning:"to want; must; will"},再:{headword:"再",traditional:"再",pinyin:"zài",meaning:"again; once more"},来:{headword:"来",traditional:"來",pinyin:"lái",meaning:"to come; to arrive"},一次:{headword:"一次",traditional:"一次",pinyin:"yī cì",meaning:"once; one time"},有没有:{headword:"有没有",traditional:"有沒有",pinyin:"yǒu méi yǒu",meaning:"have or not; whether there is"},人:{headword:"人",traditional:"人",pinyin:"rén",meaning:"person; people"},去过:{headword:"去过",traditional:"去過",pinyin:"qù guò",meaning:"to have been to (somewhere)"}},o=[{text:"成都",interactive:!0,isProperNoun:!0},{text:"小吃",interactive:!0},{text:"真的",interactive:!0},{text:"太",interactive:!0},{text:"好吃",interactive:!0},{text:"了",interactive:!0},{text:"!",interactive:!1}],d=[{text:"成都",interactive:!0,isProperNoun:!0},{text:"的",interactive:!0},{text:"街头巷尾",interactive:!0},{text:"藏着",interactive:!0},{text:"无数",interactive:!0},{text:"美食",interactive:!0},{text:",",interactive:!1},{text:"每一口",interactive:!0},{text:"都",interactive:!0},{text:"让人",interactive:!0},{text:"回味无穷",interactive:!0},{text:"。",interactive:!1},{text:"从",interactive:!0},{text:"热辣辣",interactive:!0},{text:"的",interactive:!0},{text:"火锅",interactive:!0},{text:"到",interactive:!0},{text:"香脆",interactive:!0},{text:"的",interactive:!0},{text:"串串",interactive:!0},{text:",",interactive:!1},{text:"这座城市",interactive:!0},{text:"就是",interactive:!0},{text:"吃货",interactive:!0},{text:"的",interactive:!0}
1,{text:"天堂",interactive:!0},{text:"。",interactive:!1},{text:"昨天",interactive:!0},{text:"我们",interactive:!0},{text:"一行人",interactive:!0},{text:"专程",interactive:!0},{text:"去了",interactive:!0},{text:"宽窄巷子",interactive:!0,isProperNoun:!0},{text:",",interactive:!1},{text:"那里",interactive:!0},{text:"的",interactive:!0},{text:"小吃摊",interactive:!0},{text:"一家接一家",interactive:!0},{text:",",interactive:!1},{text:"香味",interactive:!0},{text:"扑鼻而来",interactive:!0},{text:",",interactive:!1},{text:"完全",interactive:!0},{text:"不知道",interactive:!0},{text:"从",interactive:!0},{text:"哪里",interactive:!0},{text:"开始",interactive:!0},{text:"吃",interactive:!0},{text:"。",interactive:!1},{text:"我们",interactive:!0},{text:"先",interactive:!0},{text:"点了",interactive:!0},{text:"一份",interactive:!0},{text:"麻辣",interactive:!0},{text:"串串",interactive:!0},{text:",",interactive:!1},{text:"辣得过瘾",interactive:!0},{text:"又",interactive:!0},{text:"停不下来",interactive:!0},{text:",",interactive:!1},{text:"接着",interactive:!0},{text:"又",interactive:!0},{text:"喝了",interactive:!0},{text:"一碗",interactive:!0},{text:"热腾腾",interactive:!0},{text:"的",interactive:!0},{text:"豆花",interactive:!0},{text:",",interactive:!1},{text:"甜辣交替",interactive:!0},{text:",",interactive:!1},{text:"层次",interactive:!0},{text:"丰富",interactive:!0},{text:"得",interactive:!0},{text:"让人",interactive:!0},{text:"惊喜",interactive:!0},{text:"。",interactive:!1},{text:"成都人",interactive:!0,isProperNoun:!0},{text:"对",interactive:!0},{text:"饮食",interactive:!0},{text:"的",interactive:!0},{text:"用心",interactive:!0},{text:"真的",interactive:!0},{text:"让",interactive:!0},{text:"外地人",interactive:!0},{text:"叹为观止",interactive:!0},{text:",",interactive:!1},{text:"难怪",interactive:!0},{text:"大家",interactive:!0},{text:"都",interactive:!0},{text:"说",interactive:!0},{text:"来了",interactive:!0},{text:"成都",interactive:!0,isProperNoun:!0},{text:"就",interactive:!0},{text:"不想",interactive:!0},{text:"离开了",interactive:!0},{text:"。",interactive:!1}],l=[{text:"昨天",interactive:!0},{text:"我们",interactive:!0},{text:"去",interactive:!0},{text:"宽窄巷子",interactive:!0,isProperNoun:!0},{text:",",interactive:!1},{text:"那里",interactive:!0},{text:"的",interactive:!0},{text:"火锅",interactive:!0},{text:"和",interactive:!0},{text:"串串",interactive:!0},{text:"都",interactive:!0},{text:"超级",interactive:!0},{text:"好吃",interactive:!0},{text:"。",interactive:!1}],s=[{text:"有没有",interactive:!0},{text:"人",interactive:!0},{text:"去过",interactive:!0},{text:"宽窄巷子",interactive:!0,isProperNoun:!0},{text:"?",interactive:!1},{text:"超级",interactive:!0},{text:"推荐",interactive:!0},{text:"!",interactive:!1},{text:"下次",interactive:!0},{text:"一定",interactive:!0},{text:"要",interactive:!0},{text:"再",interactive:!0},{text:"来",interactive:!0},{text:"一次",interactive:!0},{text:"。",interactive:!1}],c={成都:"learned",真的:"learned",好吃:"learned",让人:"learned",火锅:"learned",串串:"learned",小吃:"learned",太:"learned",了:"learned",街头巷尾:"learned",藏着:"learned",无数:"learned",美食:"learned",每一口:"learned",回味无穷:"learned",热辣辣:"learned",香脆:"learned",这座城市:"learned",就是:"learned",吃货:"learned",天堂:"learned",一行人:"learned",专程:"learned",去了:"learned",小吃摊:"learned",一家接一家:"learned",香味:"learned",扑鼻而来:"learned",完全:"learned",不知道:"learned",哪里:"learned",昨天:"learning",我们:"learning",宽窄巷子:"learning",那里:"learning",超级:"learning",开始:"learning",吃:"learning",先:"learning",点了:"learning",一份:"learning",麻辣:"learning",辣得过瘾:"learning",停不下来:"learning"},u={quiet:{studyPairId:"en-zh",headword:"quiet",traditional:"quiet",pinyin:"",reading:"",meaning:"安静的;宁静的"},afternoon:{studyPairId:"en-zh",headword:"afternoon",traditional:"afternoon",pinyin:"",reading:"",meaning:"下午"},London:{studyPairId:"en-zh",headword:"London",traditional:"London",pinyin:"",reading:"",meaning:"伦敦"},bookshop:{studyPairId:"en-zh",headword:"bookshop",traditional:"bookshop",pinyin:"",reading:"",meaning:"书店"},dictionary:{studyPairId:"en-zh",headword:"dictionary",traditional:"dictionary",pinyin:"",reading:"",meaning:"字典;词典"},useful:{studyPairId:"en-zh",headword:"useful",traditional:"useful",pinyin:"",reading:"",meaning:"有用的;实用的"},phrase:{studyPairId:"en-zh",headword:"phrase",traditional:"phrase",pinyin:"",reading:"",meaning:"短语;词组"},friendly:{studyPairId:"en-zh",headword:"friendly",traditional:"friendly",pinyin:"",reading:"",meaning:"友好的;亲切的"},owner:{studyPairId:"en-zh",headword:"owner",traditional:"owner",pinyin:"",reading:"",meaning:"主人;店主"},recommended:{studyPairId:"en-zh",headword:"recommended",traditional:"recommended",pinyin:"",reading:"",meaning:"推荐了;建议了"},novel:{studyPairId:"en-zh",headword:"novel",traditional:"novel",pinyin:"",reading:"",meaning:"小说"}},x=[{text:"A ",interactive:!1},{text:"quiet",interactive:!0},{text:" ",interactive:!1},{text:"afternoon",interactive:!0},{text:" in a ",interactive:!1},{text:"London",interactive:!0,isProperNoun:!0},{text:" ",interactive:!1},{text:"bookshop",interactive:!0}],h=[{text:"I found a ",interactive:!1},{text:"useful",interactive:!0},{text:" ",interactive:!1},{text:"dictionary",interactive:!0},{text:" and wrote down a new ",interactive:!1},{text:"phrase",interactive:!0},{text:". The ",interactive:!1}
1,{text:"friendly",interactive:!0},{text:" ",interactive:!1},{text:"owner",interactive:!0},{text:" ",interactive:!1},{text:"recommended",interactive:!0},{text:" a short ",interactive:!1},{text:"novel",interactive:!0},{text:" for my train ride.",interactive:!1}],p=[{text:"That ",interactive:!1},{text:"bookshop",interactive:!0},{text:" has a really ",interactive:!1},{text:"friendly",interactive:!0},{text:" ",interactive:!1},{text:"owner",interactive:!0},{text:".",interactive:!1}],g=[{text:"I use a ",interactive:!1},{text:"dictionary",interactive:!0},{text:" whenever I find a new ",interactive:!1},{text:"phrase",interactive:!0},{text:".",interactive:!1}],m={京都:{studyPairId:"ja-en",headword:"京都",traditional:"京都",pinyin:"きょうと",reading:"きょうと",meaning:"Kyoto"},小さな:{studyPairId:"ja-en",headword:"小さな",traditional:"小さな",pinyin:"ちいさな",reading:"ちいさな",meaning:"small; little"},本屋:{studyPairId:"ja-en",headword:"本屋",traditional:"本屋",pinyin:"ほんや",reading:"ほんや",meaning:"bookshop"},新しい:{studyPairId:"ja-en",headword:"新しい",traditional:"新しい",pinyin:"あたらしい",reading:"あたらしい",meaning:"new"},本:{studyPairId:"ja-en",headword:"本",traditional:"本",pinyin:"ほん",reading:"ほん",meaning:"book"},見つけました:{studyPairId:"ja-en",headword:"見つけました",traditional:"見つけました",pinyin:"みつけました",reading:"みつけました",meaning:"found"},週末:{studyPairId:"ja-en",headword:"週末",traditional:"週末",pinyin:"しゅうまつ",reading:"しゅうまつ",meaning:"weekend"},友達:{studyPairId:"ja-en",headword:"友達",traditional:"友達",pinyin:"ともだち",reading:"ともだち",meaning:"friend"},散歩:{studyPairId:"ja-en",headword:"散歩",traditional:"散歩",pinyin:"さんぽ",reading:"さんぽ",meaning:"walk; stroll"},静かな:{studyPairId:"ja-en",headword:"静かな",traditional:"静かな",pinyin:"しずかな",reading:"しずかな",meaning:"quiet"},店:{studyPairId:"ja-en",headword:"店",traditional:"店",pinyin:"みせ",reading:"みせ",meaning:"shop; store"},短い:{studyPairId:"ja-en",headword:"短い",traditional:"短い",pinyin:"みじかい",reading:"みじかい",meaning:"short"},小説:{studyPairId:"ja-en",headword:"小説",traditional:"小説",pinyin:"しょうせつ",reading:"しょうせつ",meaning:"novel"},読みました:{studyPairId:"ja-en",headword:"読みました",traditional:"読みました",pinyin:"よみました",reading:"よみました",meaning:"read"},素敵な:{studyPairId:"ja-en",headword:"素敵な",traditional:"素敵な",pinyin:"すてきな",reading:"すてきな",meaning:"lovely; wonderful"},場所:{studyPairId:"ja-en",headword:"場所",traditional:"場所",pinyin:"ばしょ",reading:"ばしょ",meaning:"place"}},v=[{text:"京都",interactive:!0,isProperNoun:!0},{text:"の",interactive:!1},{text:"小さな",interactive:!0},{text:"本屋",interactive:!0},{text:"で",interactive:!1},{text:"新しい",interactive:!0},{text:"本",interactive:!0},{text:"を",interactive:!1},{text:"見つけました",interactive:!0},{text:"。",interactive:!1}],y=[{text:"週末",interactive:!0},{text:"に",interactive:!1},{text:"友達",interactive:!0},{text:"と",interactive:!1},{text:"散歩",interactive:!0},{text:"して、",interactive:!1},{text:"静かな",interactive:!0},{text:"店",interactive:!0},{text:"で",interactive:!1},{text:"短い",interactive:!0},{text:"小説",interactive:!0},{text:"を",interactive:!1},{text:"読みました",interactive:!0},{text:"。",interactive:!1}],w=[{text:"素敵な",interactive:!0},{text:"場所",interactive:!0},{text:"ですね。",interactive:!1}],f=[{text:"私も",interactive:!1},{text:"週末",interactive:!0},{text:"に",interactive:!1},{text:"京都",interactive:!0,isProperNoun:!0},{text:"へ行きます。",interactive:!1}],b="text-base";e.s(["DemoPageHover",0,function({variant:e="chinese"}={}){let j="english"===e,N="japanese"===e,k=N?m:j?u:r,P=N?"ja":j?"en":"zh-CN",[S,C]=(0,n.useState)("chinese"===e?c:{}
1),[I,T]=(0,n.useState)({}),L=(0,n.useCallback)(async e=>k[e]??null,[k]),A=(0,n.useCallback)(async(e,t)=>{C(n=>{if(null===t){let t={...n};return delete t[e],t}return{...n,[e]:t}})},[]),$=(0,n.useCallback)((e,t)=>{T(n=>({...n,[e]:t}))},[]);return(0,t.jsxs)("div",{className:"mt-8 rounded-2xl border border-white/8 shadow-2xl shadow-black/50 select-none overflow-visible transition-transform duration-300 ease-out hover:scale-[1.015]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 rounded-t-2xl bg-[#1e1e2e] px-3 py-2.5 border-b border-white/6",children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5 shrink-0",children:[(0,t.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-[#ff5f57]"}),(0,t.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-[#febc2e]"}),(0,t.jsx)("div",{className:"h-2.5 w-2.5 rounded-full bg-[#28c840]"})]}),(0,t.jsxs)("div",{className:"flex flex-1 items-center gap-1.5 rounded-md bg-black/30 px-2.5 py-1 min-w-0 max-w-sm mx-auto",children:[(0,t.jsx)("svg",{viewBox:"0 0 24 24",className:"h-3 w-3 shrink-0 fill-white/40",xmlns:"http://www.w3.org/2000/svg",children:(0,t.jsx)("path",{d:"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"})}),(0,t.jsx)("span",{className:"truncate text-xs text-white/35",children:N?"reading-notes.example/kyoto-bookshop":j?"citynotes.example/london-bookshops":"xiaohongshu.com/explore/chengdu-food"})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1 shrink-0 ml-auto",children:[(0,t.jsx)("div",{className:"h-4 w-4 rounded-sm bg-white/10"}),(0,t.jsx)("div",{className:"h-4 w-4 rounded-sm bg-white/10"})]})]}),(0,t.jsxs)("div",{className:"rounded-b-2xl bg-[#0f0f14] px-5 py-5 overflow-visible relative",children:[(0,t.jsxs)("div",{className:"flex items-center gap-3 border-b border-white/8 pb-3 mb-4",children:[(0,t.jsx)("div",{className:"h-6 w-6 rounded-full bg-[#ff2442]"}),(0,t.jsx)("span",{lang:P,className:`${b} font-semibold text-white/90`,children:N?"読書ノート":j?"City Notes":"小红书"}),(0,t.jsxs)("div",{className:"ml-auto flex gap-2",children:[(0,t.jsx)("div",{className:"h-2 w-10 rounded bg-white/10"}),(0,t.jsx)("div",{className:"h-2 w-8 rounded bg-white/10"})]})]}),(0,t.jsxs)("div",{className:"rounded-xl bg-white/5 border border-white/8 p-4 overflow-visible",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[(0,t.jsx)("div",{className:"h-8 w-8 rounded-full bg-gradient-to-br from-orange-400 to-pink-500 shrink-0"}),(0,t.jsxs)("div",{lang:P,className:b,children:[(0,t.jsx)("div",{className:"font-semibold text-white/85",children:N?"本好きの日記":j?"Weekend Reader":"美食探店达人"}),(0,t.jsx)("div",{className:"text-white/35",children:N?"2時間前":j?"2 hours ago":"2小时前"})]}),(0,t.jsx)("div",{lang:P,className:`ml-auto rounded-full border border-[#ff2442]/70 px-2.5 py-0.5 ${b} font-medium text-[#ff6070]`,children:N?"フォロー":j?"Follow":"关注"})]}),(0,t.jsx)("h3",{lang:P,"data-web-demo-chinese-copy":"chinese"===e?"title":void 0,"data-web-demo-copy":"title",className:`flex flex-wrap items-baseline gap-x-0.5 ${b} font-bold text-white/90 leading-snug mb-2`,children:(N?v:j?x:o).map((e,n)=>(0,t.jsx)(i.InteractiveToken,{text:e.text,interactive:e.interactive,isProperNoun:e.isProperNoun,properNounOverride:I[e.text]??null,onProperNounOverride:$,status:S[e.text],statusByIdentity:S,studyPairIdOverride:N?"ja-en":void 0,lookupWord:L,saveWordStatus:A,sentence:{text:N?"京都の小さな本屋で新しい本を見つけました。":j?"A quiet afternoon in a London bookshop":"成都小吃真的太好吃了!",translation:null}},`title-${n}`))}),(0,t.jsx)("div",{lang:P,"data-web-demo-chinese-copy":"chinese"===e?"body":void 0,"data-web-demo-copy":"body",className:`flex flex-wrap items-baseline gap-x-0.5 ${b} leading-relaxed text-white/55 mb-3`,children:(N?y:j?h:d).map((e,n)=>(0,t.jsx)(i.InteractiveToken,{text:e.text,interactive:e.interactive,isProperNoun:e.isProperNoun,properNounOverride:I[e.text]??null,onProperNounOverride:$,status:S[e.text],statusByIdentity:S,studyPairIdOverride:N?"ja-en":void 0,lookupWord:L,saveWordStatus:A,sentence:{text:N?"週末に友達と散歩して、静かな店で短い小説を読みました。":j?"I foun
1d a useful dictionary and wrote down a new phrase.":"成都的街头巷尾藏着无数美食,每一口都让人回味无穷。",translation:null}},`body-${n}`))}),(0,t.jsx)("div",{lang:P,className:`flex flex-wrap gap-1.5 mb-4 pointer-events-none ${b}`,children:(N?["#京都","#本屋","#読書","#週末"]:j?["#London","#bookshops","#reading","#weekend"]:["#成都美食","#串串","#宽窄巷子","#火锅"]).map(e=>(0,t.jsx)("span",{className:"rounded-full bg-[#ff2442]/15 px-2 py-0.5 text-[#ff6070]",children:e},e))}),(0,t.jsxs)("div",{className:"border-t border-white/8 pt-3",children:[(0,t.jsx)("div",{lang:P,className:`${b} font-semibold uppercase tracking-wide text-white/25 mb-2`,children:N?"コメント":j?"Comments":"评论"}),(0,t.jsxs)("div",{className:"flex gap-2 mb-3","data-camera-target":"webpage-comment",children:[(0,t.jsx)("div",{className:"h-7 w-7 rounded-full bg-gradient-to-br from-teal-400 to-cyan-500 shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"flex-1 overflow-visible",children:[(0,t.jsx)("div",{lang:P,className:`${b} font-semibold text-white/40 mb-0.5`,children:N?"京都さんぽ":j?"London Explorer":"旅游爱好者"}),(0,t.jsx)("div",{lang:P,"data-web-demo-chinese-copy":"chinese"===e?"comment-1":void 0,"data-web-demo-copy":"comment-1",className:`flex flex-wrap items-baseline gap-x-0.5 ${b} leading-relaxed text-white/80 overflow-visible`,children:(N?w:j?p:l).map((e,n)=>(0,t.jsx)(i.InteractiveToken,{text:e.text,interactive:e.interactive,isProperNoun:e.isProperNoun,properNounOverride:I[e.text]??null,onProperNounOverride:$,status:S[e.text],statusByIdentity:S,studyPairIdOverride:N?"ja-en":void 0,lookupWord:L,saveWordStatus:A,sentence:{text:N?"素敵な場所ですね。":j?"That bookshop has a really friendly owner.":"昨天我们去宽窄巷子,那里的火锅和串串都超级好吃。",translation:null}},`c1-${n}`))})]})]}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)("div",{className:"h-7 w-7 rounded-full bg-gradient-to-br from-violet-400 to-purple-500 shrink-0 mt-0.5"}),(0,t.jsxs)("div",{className:"flex-1 overflow-visible",children:[(0,t.jsx)("div",{lang:P,className:`${b} font-semibold text-white/40 mb-0.5`,children:N?"旅の読者":j?"Language Learner":"小吃控🍡"}),(0,t.jsx)("div",{lang:P,"data-web-demo-chinese-copy":"chinese"===e?"comment-2":void 0,"data-web-demo-copy":"comment-2",className:`flex flex-wrap items-baseline gap-x-0.5 ${b} leading-relaxed text-white/80 overflow-visible`,children:(N?f:j?g:s).map((e,n)=>(0,t.jsx)(i.InteractiveToken,{text:e.text,interactive:e.interactive,isProperNoun:e.isProperNoun,properNounOverride:I[e.text]??null,onProperNounOverride:$,status:S[e.text],statusByIdentity:S,studyPairIdOverride:N?"ja-en":void 0,lookupWord:L,saveWordStatus:A,sentence:{text:N?"私も週末に京都へ行きます。":j?"I use a dictionary whenever I find a new phrase.":"有没有人去过宽窄巷子?超级推荐!下次一定要再来一次。",translation:null}},`c2-${n}`))})]})]})]})]}),(0,t.jsxs)("div",{className:"absolute top-4 right-4 flex items-center gap-1.5 rounded-full border border-violet-500/50 bg-slate-950/90 px-2.5 py-1 pointer-events-none",children:[(0,t.jsx)(a.BrandMark,{className:"h-3 w-3 shrink-0 text-violet-300"}),(0,t.jsx)("span",{className:"text-[10px] font-bold text-violet-300",children:"ON"})]})]}),(0,t.jsxs)("div",{className:"rounded-b-2xl bg-slate-950 px-4 py-2.5 flex flex-wrap items-center justify-between gap-2 border-t border-white/6",children:[(0,t.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-white",children:[(0,t.jsx)("span",{className:"text-teal-400",children:"↑"}),`Works with selectable ${N?"Japanese":j?"English":"Chinese"} text on supported websites — hover a word to explore`]}),(0,t.jsxs)("div",{className:"flex items-center gap-3 text-[11px] text-white",children:[(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"text-emerald-400/80",children:"■"})," learned"]}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"text-amber-400/80",children:"■"})," learning"]}),(0,t.jsxs)("span",{children:[(0,t.jsx)("span",{className:"text-white/50",children:"■"})," new word"]})]})]})]})}])},48443,e=>{"use strict";var t=e.i(43476),n=e.i(71645);function i({active:e,onToggle:t,onActiveChange:a,pinOnMouseClick:r=!0,label:o="English translation",ariaLabel:d,control
1Labels:l,onMouseEnter:s,onMouseLeave:c,onFocus:u,onBlur:x}){let[h,p]=(0,n.useState)(!1),[g,m]=(0,n.useState)(!1),v=(0,n.useRef)(null),y=h||e&&!g;function w(e){m(e),a?.(h||e)}return{buttonProps:{type:"button","aria-label":d??(y?l?.hide??`Hide ${o}`:l?.show??`Show ${o}`),"aria-pressed":a?y:e,"aria-expanded":e,onClick:function(){if(!a)return void t();if(!r&&"mouse"===v.current){p(!1),a(g);return}if(y){p(!1),m(!1),a(!1);return}let e=!h;p(e),a(e||g)},onKeyDown:function(e){("Enter"===e.key||" "===e.key)&&(v.current=null,e.stopPropagation())},onPointerDown:e=>{v.current=e.pointerType||null},onMouseEnter:e=>{w(!0),s?.(e)},onMouseLeave:e=>{w(!1),c?.(e)},onFocus:e=>{w(!0),u?.(e)},onBlur:e=>{w(!1),x?.(e)}}}}e.s(["EnTranslationButton",0,function({className:e="",shortLabel:n="EN",...a}){let{buttonProps:r}=i(a);return(0,t.jsx)("button",{...r,"data-testid":"translation-control",className:`flex h-8 w-8 items-center justify-center rounded-md border border-white/10 bg-white/6 px-0 text-[11px] font-medium text-slate-100 transition hover:border-white/20 hover:bg-white/10 hover:text-white ${e}`.trim(),children:n})},"useEnTranslationControl",0,i])},6352,e=>{"use strict";var t=e.i(43476);e.s(["InlineTranslation",0,function({translation:e,isLoading:n,hasError:i,labels:a}){let r=a??{loading:"Translating…",failed:"Translation couldn't be completed.",lang:"en"};return(0,t.jsx)("div",{className:"flex flex-wrap items-center gap-y-2 text-base leading-relaxed text-slate-100 sm:text-lg",children:i?(0,t.jsx)("span",{lang:r.lang,className:"text-sm text-slate-300",children:r.failed}):n?(0,t.jsx)("span",{lang:r.lang,className:"text-sm text-slate-400",children:r.loading}):(0,t.jsx)("span",{lang:r.translationLang,children:e})})}])},93260,14959,e=>{"use strict";var t=e.i(43476),n=e.i(48443),i=e.i(63430),a=e.i(47720);function r({active:e,label:n,onClick:i,disabled:o=!1,className:d=""}){return(0,t.jsx)("button",{type:"button","data-testid":"star-button","aria-pressed":e,"aria-label":n,onClick:i,disabled:o,className:`inline-flex items-center justify-center rounded-md border p-1.5 transition ${o?"cursor-not-allowed border-white/10 bg-white/4 text-slate-500 opacity-70":e?"border-amber-300/40 bg-amber-300/15 text-amber-300":"border-white/10 bg-white/6 text-slate-200 hover:border-amber-300/25 hover:bg-amber-300/10 hover:text-amber-300"} ${d}`,children:(0,t.jsx)(a.StarIcon,{filled:e,className:"h-4 w-4"})})}e.s(["StarButton",0,r],14959);var o=e.i(20662);e.s(["SentenceActionButtons",0,function({text:e,audioType:a="sentence",playLabel:d="Play",audioControlLabels:l,onPlayIntent:s,loadAudio:c,preloadAudioOnIntent:u=!1,translation:x=null,translationVisible:h=!1,translationLabel:p="English translation",translationShortLabel:g="EN",translationControlLabels:m,onTranslationToggle:v,onTranslationVisibilityChange:y,showTranslationButton:w=!!x,starLabel:f="Star sentence",starred:b=!1,onToggleStar:j,className:N=""}){return(0,t.jsxs)("div",{className:`flex shrink-0 flex-wrap items-center gap-1.5 ${N}`.trim(),children:[(0,t.jsx)(i.SpeechPlayButton,{text:e,audioType:a,iconOnly:!0,label:d,controlLabels:l,onPlayIntent:s,loadAudio:c,preloadOnIntent:u,className:o.COMPACT_ICON_BUTTON_CLASS}),w?(0,t.jsx)(n.EnTranslationButton,{active:h,onToggle:function(){y?y(!0):v?.()},onActiveChange:y,label:p,controlLabels:m,shortLabel:g,className:o.COMPACT_EN_BUTTON_CLASS}):null,j?(0,t.jsx)(r,{active:b,label:f,onClick:j,className:o.COMPACT_ICON_BUTTON_CLASS}):null]})}],93260)},63430,19216,29676,83203,34942,e=>{"use strict";var t=e.i(43476),n=e.i(71645);e.i(59308);var i=e.i(9464);let a=new Map;function r(e){let t;if(!(!e||"u"<typeof Audio||a.has(e))){try{(t=new Audio).preload="auto",t.src=e,t.load()}catch{return}for(a.set(e,t);a.size>4;){let e=a.keys().next().value;if("string"!=typeof e)break;let t=a.get(e);a.delete(e),t&&function(e){try{e.pause(),e.removeAttribute("src"),e.load()}catch{}}(t)}}}function o(e){let t=a.get(e)??null;return t&&a.delete(e),t}function d({className:e="h-4 w-4"}){return(0,t.jsx)("span",{"aria-hidden":"true",className:`${e} shrink-0 animate-spin rounded-full border-2 border-current border-t-transparent`.trim()})}e.s(["preloadAudioUrl",0,r,"takePreloadedAudio",0,o],19216),e.s(["AudioLoadingSpinner",0,d],29676);var l=e.i(79704);let s=new WeakMap,c=new WeakMap;function u(e){let{studyPairId:t}=(0,l.useStudyPair)(),a=(0,n.useMemo)(()=>e=>(0,i.ensureTtsAudio)({...e,studyPairId:t}),[t]),o=e??a;return(0,n.useMemo)(()=>{let e=c.get(o);if(e)return e;let t=e=>{let t=JSON.stringify({studyPairId:e.studyPairId??"zh-en",text:e.text.trim(),language:e.language??"ZH",speaker:e.speaker??null,speed:e.speed??1,format:e.format??"mp3",audioType:e.audioType??"sentence",cacheOnly:!0===e.cacheOnly,preferredPinyin:e.preferredPinyin??null,pronunciationDictionary:e.pronunciationDictionary??[]}),n=s.get(o);n||(n=new Map,s.set(o,n));let a=n.get(t);if(a)return n.delete(t),n.set(t,a),a;let d=o(e).then(e=>((0,i.hasTtsAudioUrl)(e)?r(e.audioUrl):n.delete(t),e)).catch(e=>{throw n.delete(t),e});for(n.set(t,d);n.size>4;){let e=n.keys().next().value;if("string"!=typeof e)break;n.delete(e)}return d};return c.set(o,t),c.set(t,t),t},[o])}e.s(["usePreloadedSpeechAudio",0,u],83203),e.i(64315);var x=e.i(33563),h=e.i(33759),p=e.i(23188);let g=null;function m(e,t){g?.id!==e&&g?.stop(),g={id:e,stop:t}}function v(e){return g?.id===e}function y(e){g?.id===e&&(g=null)}function w(e){let t=e&&"object"==typeof e&&"status"in e&&"number"==typeof e.status?e.status:null,n=e&&"object"==typeof e&&"message"in e&&"string"==typeof e.message?e.message:"",i=e&&"object"==typeof e&&"code"in e&&"string"==typeof e.code?e.code:"";return(429===t||null===t)&&("quota_exceeded"===i||n.includes("voice generation limit")||"quota_exceeded"===n)}function f(e){return e&&"object"==typeof e&&"upgradePlan"in e&&("Plus"===e.upgradePlan||"Pro"===e.upgradePlan||null===e.upgradePlan)?e.upgradePlan:"Plus"}e.s(["claimAudioPlayback",0,m,"getVoiceUpgradePlan",0,f,"isAudioPlaybackOwner",0,v,"isVoiceUpgradeError",0,w,"releaseAudioPlayback",0,y],34942);let b=(0,n.lazy)(()=>e.A(43140).then(e=>({default:e.SpeechAudioUpgradePrompt})));e.s(["SpeechPlayButton",0,function({text:e,language:a,speaker:r=null,speed:s=1,audioType:c="sentence",preferredPinyin:g=null,pronunciationDictionary:j,autoPlay:N=!1,prefetch:k=!1,preloadOnIntent:P=!1,autoPlayKey:S,compact:C=!1,iconOnly:I=!1,className:T="",label:L="Play audio",controlLabels:A,onPlayIntent:$,onAutoPlayIntent:_,loadAudio:O}){var B;let z=u(O),{locale:E}=(0,p.useInterfaceLocale)(),{studyPairId:W}=(0,l.useStudyPair)(),M=a??(0,x.getStudyPair)(W).speechLanguage.toUpperCase(),[U,R]=(0,n.use
1State)("idle"),[K,q]=(0,n.useState)(null),[D,H]=(0,n.useState)(void 0),V=(0,n.useRef)(null),F=(0,n.useRef)(null),Z=`speech-${(0,n.useId)()}`,G=(0,n.useRef)(0);(0,n.useEffect)(()=>{delete window.ethereum},[]);let J=(0,n.useMemo)(()=>`${S??`${W}::${e}::${M}::${r??""}::${s}::${j?.join("|")??""}`}::${g??""}`,[S,g,j,M,s,r,W,e]),X=(0,n.useCallback)(()=>{G.current+=1,V.current?.pause(),V.current=null,v(Z)&&y(Z),R("idle")},[Z]);(0,n.useEffect)(()=>()=>{X()},[X,J]);let Q=(0,n.useCallback)(async(t="manual")=>{let n=e.trim();if(!n)return;"manual"===t?$?.():_?.();let a=++G.current;m(Z,X),R("loading"),q(null);let d=!1;try{let e=await z({text:n,studyPairId:W,language:M,speaker:r,speed:s,format:"mp3",audioType:c,preferredPinyin:g,pronunciationDictionary:j});if(!(0,i.hasTtsAudioUrl)(e))throw Error(e.error);if(a!==G.current)return;if(!v(Z))return void R("idle");V.current&&(V.current.pause(),V.current=null);let t=o(e.audioUrl)??new Audio(e.audioUrl);if(V.current=t,t.onended=()=>{v(Z)&&(R("idle"),V.current=null,y(Z))},t.onerror=()=>{v(Z)&&(d=!0,R("error"),q({kind:"unavailable"}),V.current=null,y(Z))},await t.play(),a!==G.current)return;if(!v(Z))return void R("idle");R("playing")}catch(r){if(a!==G.current||d)return;if(!v(Z))return void R("idle");y(Z);let e=r&&"object"==typeof r&&"name"in r&&"string"==typeof r.name?r.name:"",n=r&&"object"==typeof r&&"message"in r&&"string"==typeof r.message?r.message:"",i="auto"===t&&("NotAllowedError"===e||n.includes("didn't interact with the document first"));if("auto"===t)if(w(r)){let e=f(r);R("error"),q({kind:"voice-limit",upgradePlan:e})}else i?R("idle"):(R("error"),q({kind:"unavailable"}));else if(w(r)){let e=f(r);R("error"),q({kind:"voice-limit",upgradePlan:e}),H(e)}else i||console.error("[SpeechPlayButton] play error",r),R("error"),q({kind:"unavailable"})}},[c,_,$,Z,g,z,j,M,r,s,X,W,e]),Y=(0,n.useCallback)(()=>{P&&e.trim()&&z({text:e.trim(),studyPairId:W,language:M,speaker:r,speed:s,format:"mp3",audioType:c,preferredPinyin:g,pronunciationDictionary:j,cacheOnly:!0}).catch(()=>{})},[c,g,P,z,j,M,r,s,W,e]);(0,n.useEffect)(()=>{if(!N||!e.trim()||F.current===J)return;F.current=J;let t=window.setTimeout(()=>{Q("auto")},0);return()=>window.clearTimeout(t)},[N,Q,e,J]),(0,n.useEffect)(()=>{k&&e.trim()&&z({text:e.trim(),studyPairId:W,language:M,speaker:r,speed:s,format:"mp3",audioType:c,preferredPinyin:g,pronunciationDictionary:j,cacheOnly:!0}).catch(()=>{})},[c,g,k,z,j,M,r,s,W,e]);let ee=K?.kind==="voice-limit"?(B=K.upgradePlan,B?(0,h.interfaceMessage)(E,"upgrade.toPlan",{plan:B}):(0,h.interfaceMessage)(E,"upgrade.audio.title")):K?.kind==="unavailable"?A?.unavailable??"Audio not available":null,et=(0,t.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor",className:"h-4 w-4","aria-hidden":"true",children:(0,t.jsx)("path",{d:"M11.4 5.1A1 1 0 0 1 13 6v12a1 1 0 0 1-1.6.8L7.3 15H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2h2.3l4.1-3.8ZM16.2 8.1a1 1 0 0 1 1.4 0 6 6 0 0 1 0 8.5 1 1 0 1 1-1.4-1.4 4 4 0 0 0 0-5.7 1 1 0 0 1 0-1.4Zm2.8-2.8a1 1 0 0 1 1.4 0 10 10 0 0 1 0 14.1 1 1 0 1 1-1.4-1.4 8 8 0 0 0 0-11.3 1 1 0 0 1 0-1.4Z"})});return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{type:"button",onClick:()=>{Q("manual")},onFocus:Y,onPointerEnter:Y,onTouchStart:Y,disabled:"loading"===U,"aria-label":L,"aria-busy":"loading"===U,title:ee??L,className:`${I?"inline-flex h-9 w-9 items-center justify-center rounded-md border border-white/10 bg-white/6 text-slate-100 transition hover:bg-white/10":C?"inline-flex h-8 items-center justify-center rounded-md border border-white/10 bg-white/6 px-2 text-xs font-medium text-slate-100 transition hover:bg-white/10":"inline-flex items-center justify-center rounded-md border border-white/10 bg-white/6 px-3 py-2 text-sm font-medium text-slate-100 transition hover:bg-white/10"} ${T}`.trim(),children:"loading"===U?(0,t.jsx)(d,{}):I?et:C?"▶":"error"===U?A?.retry??"Retry":L}),void 0!==D?(0,t.jsx)(n.Suspense,{fallback:null,children:(0,t.jsx)(b,{upgradePlan:D,onClose:()=>H(void 0)})}):null]})}],63430)},39427,e=>{"use strict";var t=e.i(43476),n=e.i(71645),i=e.i(39840),a=e.i(74581),r=e.i(6352),o=e.i(93260),d=e.i(72286),l=e.i(33563);let s=(0,n.memo)(function({labels:e,line:s,statusByWord:c,lookupWord:u,saveWordStatus:x,properNounOverrides:h={},onProperNounOverride:p,starredSentenceKeys:g=new Set,onToggleSentenceStar:m,translationEnabled:v=!0,translationStatus:y="done",studyPairId:w="zh-en",translationLabel:f,translationShortLabel:b,translationStatusLabels:j,sentenceKey:N,audioActive:k=!1,onTimestampClick:P,audioType:S="sentence",loadAudio:C,preloadAudioOnIntent:I=!1,allowSave:T=!0,readingLookupSurface:L,starredByWord:A,starredByLexemeKey:$,starRows:_,onStarredChange:O,onStarredSettled:B,onStarError:z,tokens:E,pronunciationDisplay:W="off",toneColoring:M="classic"}){let U=(0,n.useMemo)(()=>E??s.tokens??[{text:s.content,interactive:!1}],[E,s.content,s.tokens]),R=(0,n.useMemo)(()=>({text:s.content,translation:s.translation??null}
1),[s.content,s.translation]),[K,q]=(0,n.useState)(!1),D=(0,l.getStudyPair)(w),H=null!==D.providers.textTranslation&&(()=>{switch(D.contentLanguage.code){case"en":return/[\p{Script=Latin}]/u.test(s.content);case"ja":return/[\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Han}]/u.test(s.content);case"ko":return/[\p{Script=Hangul}]/u.test(s.content);default:return d.HAS_CHINESE_RE.test(s.content)}})(),V=f??e?.translation??`${D.glossLanguage.name} translation`,F=b??(0,l.getLanguageShortLabel)(D.glossLanguage.code);return(0,t.jsxs)("article",{lang:e?.htmlLang??"en","data-testid":"transcript-line","data-line-id":s.id,"data-audio-active":k?"true":void 0,className:`relative overflow-visible rounded-lg border px-4 py-3 shadow-[0_12px_40px_rgba(0,0,0,0.16)] transition-colors ${k?"border-teal-300/70 bg-teal-300/10 ring-1 ring-teal-300/30":"border-white/8 bg-white/5"}`,onCopy:function(e){let t=(function(e,t){if(!e)return t;if(e.rangeCount>0){let t=e.getRangeAt(0).cloneContents();t.querySelectorAll("[data-lc-pronunciation]").forEach(e=>e.remove());let n=t.textContent??"";if(n)return n}return e.toString()||t})(window.getSelection(),R.text).replace(/\s+/gu,"");t&&(e.preventDefault(),e.clipboardData.setData("text/plain",t))},children:[(0,t.jsxs)("div",{className:"mb-2 flex flex-wrap items-center gap-2 text-xs text-slate-400",children:[s.timestamp?(0,t.jsx)("button",{type:"button",onClick:P?()=>P(s.timestamp):void 0,disabled:!P,className:"rounded-md bg-white/6 px-1.5 py-0.5 font-medium tracking-[0.08em] text-slate-400 transition hover:bg-teal-300/15 hover:text-teal-100 disabled:cursor-default disabled:hover:bg-white/6 disabled:hover:text-slate-400","aria-label":P?(0,i.formatInterfaceMessage)(e?.seekToTimestamp??"Seek to {timestamp}",{timestamp:s.timestamp}):void 0,children:s.timestamp}):null,s.speaker?(0,t.jsx)("span",{lang:s.speakerLanguageCode??D.contentLanguage.code,className:"rounded-md border border-cyan-400/30 bg-cyan-400/10 px-1.5 py-0.5 text-cyan-100",children:s.speaker}):null,(0,t.jsx)(o.SentenceActionButtons,{className:"ml-auto",text:s.content,audioType:S,loadAudio:C,preloadAudioOnIntent:I,playLabel:e?.play??"Play",audioControlLabels:e?{retry:e.audioRetry,unavailable:e.audioNotAvailable}:void 0,translationControlLabels:e?{show:e.showTranslation,hide:e.hideTranslation}:void 0,showTranslationButton:v&&(null!=s.translation||"loading"===y&&H),translation:R.translation,translationVisible:K,translationLabel:V,translationShortLabel:F,onTranslationVisibilityChange:q,starred:g.has(N??`line:${s.id}`),starLabel:g.has(N??`line:${s.id}`)?e?.unstarSentence??"Unstar sentence":e?.starSentence??"Star sentence",onToggleStar:m?()=>m(N??`line:${s.id}`,s.content):void 0})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)(a.TokenizedText,{labels:e,readingLookupSurface:L,studyPairId:w,tokens:U,statusByWord:c,lookupWord:u,saveWordStatus:x,properNounOverrides:h,onProperNounOverride:p,sentence:R,textEntryId:"starred"===s.textEntryId?null:s.textEntryId,sourceLineId:"starred"===s.textEntryId?null:s.id,allowSave:T,starredByWord:A,starredByLexemeKey:$,starRows:_,onStarredChange:O,onStarredSettled:B,onStarError:z,pronunciationDisplay:W,toneColoring:M,className:"flex flex-wrap items-center gap-y-2 text-2xl leading-relaxed text-slate-100"}),K&&(null!=s.translation||"loading"===y)&&(0,t.jsx)("div",{lang:null!=s.translation?D.glossLanguage.code:e?.htmlLang??"en","data-testid":"line-translation-panel",className:"mt-3 rounded-md border border-white/8 bg-slate-950/40 px-3 py-2",children:(0,t.jsx)(r.InlineTranslation,{translation:s.translation??null,isLoading:null==s.translation&&"loading"===y,labels:j})})]})]})},function(e,t){if(e.labels!==t.labels||e.line!==t.line||e.readingLookupSurface!==t.readingLookupSurface||e.lookupWord!==t.lookupWord||e.saveWordStatus!==t.saveWordStatus||e.onToggleSentenceStar!==t.onToggleSentenceStar||e.onStarredSettled!==t.onStarredSettled||e.starredSentenceKeys!==t.starredSentenceKeys||e.translationStatus!==t.translationStatus||e.studyPairId!==t.studyPairId||e.translationLabel!==t.translationLabel||e.translationShortLabel!==t.translationShortLabel||e.translationStatusLabels!==t.translationStatusLabels||e.audioActive!==t.audioActive||e.onTimestampClick!==t.onTimestampClick||e.audioType!==t.audioType||e.loadAudio!==t.loadAudio||e.preloadAudioOnIntent!==t.preloadAudioOnIntent||e.allowSave!==t.allowSave||e.starredByWord!==t.starredByWord||e.starredByLexemeKey!==t.starredByLexemeKey||e.starRows!==t.starRows||e.onStarredChange!==t.onStarredChange||e.onStarError!==t.onStarError||e.tokens!==t.tokens||e.pronunciationDisplay!==t.pronunciationDisplay||e.toneColoring!==t.toneColoring)return!1;let n=e.line.tokens;if(n!==t.line.tokens)return!1;
1if(!n||0===n.length)return!0;for(let i=0;i<n.length;i+=1){let a=n[i].text;if(e.statusByWord[a]!==t.statusByWord[a]||(e.properNounOverrides?.[a]??null)!==(t.properNounOverrides?.[a]??null))return!1}return!0});e.s(["TranscriptLine",0,s])},53338,64131,e=>{"use strict";var t=e.i(43476);let n=[{key:"learned",className:"bg-teal-300"},{key:"learning",className:"bg-amber-300"},{key:"new",className:"bg-slate-500"}],i=Object.freeze({title:"Word Coverage",learned:"Learned",learning:"Learning",new:"New"});e.s(["WordCoverageSummary",0,function({learnedPercent:e,learningPercent:a,newPercent:r,className:o="",labels:d=i}){let l={learned:e,learning:a,new:r},s=d===i?`Learned ${e}%, learning ${a}%, new ${r}%`:`${d.learned} ${e}%, ${d.learning} ${a}%, ${d.new} ${r}%`;return(0,t.jsxs)("section",{"aria-label":d.title,className:`rounded-md border border-teal-300/30 bg-teal-300/10 px-4 py-2.5 text-sm text-slate-100 ${o}`,children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-x-4 gap-y-2",children:[(0,t.jsx)("p",{className:"shrink-0 text-xs uppercase tracking-[0.16em] text-slate-300",children:d.title}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-1 leading-5",children:[(0,t.jsxs)("span",{className:"whitespace-nowrap",children:[(0,t.jsxs)("span",{className:"text-teal-300",children:[d.learned,":"]})," ",e,"%"]}),(0,t.jsx)("span",{"aria-hidden":"true",className:"h-3 w-px bg-white/20"}),(0,t.jsxs)("span",{className:"whitespace-nowrap",children:[(0,t.jsxs)("span",{className:"text-amber-300",children:[d.learning,":"]})," ",a,"%"]}),(0,t.jsx)("span",{"aria-hidden":"true",className:"h-3 w-px bg-white/20"}),(0,t.jsxs)("span",{className:"whitespace-nowrap",children:[(0,t.jsxs)("span",{className:"text-slate-300",children:[d.new,":"]})," ",r,"%"]})]})]}),(0,t.jsx)("div",{role:"img","aria-label":s,"data-testid":"word-coverage-bar",className:"mt-2 flex h-2 w-full overflow-hidden rounded-full bg-white/10",children:n.map(e=>(0,t.jsx)("span",{"data-testid":`word-coverage-segment-${e.key}`,"aria-hidden":"true",className:e.className,style:{flexGrow:Math.max(l[e.key],0),flexBasis:0}},e.key))})]})}],53338);var a=e.i(80897);function r(e,t){return t<=0?0:Math.round(e/t*100)}e.s(["calculateTextUnderstandability",0,function(e,t,n={}){let i=0,o=0,d=0,l=new Set;for(let r of e)for(let e of r.tokens??[]){if(!e.interactive||e.isProperNoun&&!1!==n[e.text])continue;i+=1;let r=(0,a.resolveVocabStatusForLookup)(t,e.text,e.lookup);"learned"===r?o+=1:"learning"===r&&(d+=1,l.add(e.lookup?.lexemeKey??e.lookup?.lemma??e.text))}return{totalTokens:i,knownTokens:o,learningTokens:d,learningWordCount:l.size,knownPercent:r(o,i),reachablePercent:r(o+d,i)}}],64131)},20662,e=>{"use strict";e.s(["COMPACT_EN_BUTTON_CLASS",0,"!h-8 !w-8 !px-0 text-[11px]","COMPACT_ICON_BUTTON_CLASS",0,"!h-8 !w-8 !p-0"])},10706,e=>{"use strict";e.s(["exampleCacheKey",0,function(e,t,n){return"zh-en"===e?t:`${e}:${n?.trim()||t}:${t}`}])},34656,e=>{"use strict";e.s(["reviewAnswerButtonClass",0,function(e,t){let n=t===e;return"right"===e?n?"border-emerald-200/70 bg-emerald-300/30 text-emerald-100 scale-[1.02] shadow-[0_0_28px_rgba(16,185,129,0.3)]":"border-emerald-300/30 bg-emerald-300/10 text-emerald-200 hover:bg-emerald-300/20":n?"border-rose-200/70 bg-rose-300/30 text-rose-100 scale-[1.02] shadow-[0_0_28px_rgba(244,63,94,0.3)]":"border-rose-300/30 bg-rose-300/10 text-rose-200 hover:bg-rose-300/20"},"reviewHeadwordFeedbackClass",0,function(e){return"right"===e?"!text-emerald-300 [text-shadow:0_0_14px_rgba(52,211,153,0.58)]":"wrong"===e?"!text-rose-300 [text-shadow:0_0_14px_rgba(251,113,133,0.58)]":""},"reviewPromotionGlowClass",0,function(e){return e?"!text-emerald-300 drop-shadow-[0_0_26px_rgba(16,185,129,0.7)]":""},"reviewSentenceFeedbackClass",0,function(e){return"right"===e?"text-emerald-200 drop-shadow-[0_0_22px_rgba(16,185,129,0.35)]":"wrong"===e?"text-rose-200 drop-shadow-[0_0_22px_rgba(244,63,94,0.35)]":"text-slate-100"}])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.