Files
Genarrative/tmp_text_candidates.txt
高物 c49c64896a
Some checks failed
CI / verify (push) Has been cancelled
初始仓库迁移
2026-04-04 23:57:06 +08:00

2082 lines
308 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
E:\Repos\ai-native-visual-rpg\src\data\characterPresets.ts:344:{ category: '专属品', name: `${character.name}的信物`, quantity: 2 },
E:\Repos\ai-native-visual-rpg\src\data\characterPresets.ts:1565:description: `${character.title}在此地活动。${character.description}`,
E:\Repos\ai-native-visual-rpg\src\data\customWorldRuntime.ts:226:const name = `${prefix}${optionSeed || worldSeed}${noun}${index + 1}`;
E:\Repos\ai-native-visual-rpg\src\data\customWorldRuntime.ts:234:description: `围绕“${profile.playerGoal}”即时生成的${category},适合在 ${profile.name} 中作为掉落、交易或补给资源。`,
E:\Repos\ai-native-visual-rpg\src\data\customWorldVisuals.ts:12:{ packName: 'Pixel Battle Backgrounds - Pack 1', count: 121 },
E:\Repos\ai-native-visual-rpg\src\data\customWorldVisuals.ts:13:{ packName: 'Pixel Battle Backgrounds - Pack 2', count: 119 },
E:\Repos\ai-native-visual-rpg\src\data\customWorldVisuals.ts:14:{ packName: 'Pixel Battle Backgrounds - Pack 3', count: 170 },
E:\Repos\ai-native-visual-rpg\src\data\customWorldVisuals.ts:26:const filename = `${imageNumber.toString().padStart(3, '0')}.png`;
E:\Repos\ai-native-visual-rpg\src\data\editorValidation.ts:83:const skillLabel = `${characterId} skill ${skill.id || index + 1}`;
E:\Repos\ai-native-visual-rpg\src\data\forgeSystem.ts:221:pieceName: 'weapon',
E:\Repos\ai-native-visual-rpg\src\data\forgeSystem.ts:250:pieceName: 'armor',
E:\Repos\ai-native-visual-rpg\src\data\forgeSystem.ts:264:description: '为法修、雷法、过载 build 提供资源与爆发补强。',
E:\Repos\ai-native-visual-rpg\src\data\forgeSystem.ts:281:pieceName: 'relic',
E:\Repos\ai-native-visual-rpg\src\data\forgeSystem.ts:389:name: item.name.includes('重铸') ? item.name : `${item.name}·重铸`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:213:Boots: { wuxia: "踏云靴", xianxia: "凌霄履", pieceName: "boots", slot: "armor" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:214:Chestplate: { wuxia: "护心甲", xianxia: "灵铠", pieceName: "chest", slot: "armor" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:215:Gloves: { wuxia: "护腕", xianxia: "灵纹手甲", pieceName: "gloves", slot: "armor" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:216:Helmet: { wuxia: "冠盔", xianxia: "灵盔", pieceName: "helm", slot: "armor" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:217:Leggings: { wuxia: "行岳腿甲", xianxia: "踏虚护胫", pieceName: "leggings", slot: "armor" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:218:Shield: { wuxia: "镇势盾", xianxia: "护界灵盾", pieceName: "shield", slot: "armor" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:219:Weapon: { wuxia: "战兵", xianxia: "灵兵", pieceName: "weapon", slot: "weapon" },
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:474:description: `${wuxiaName} / ${xianxiaName} 这件图标物资可在两个世界中以不同风格登场,适合作为${category}基础模板继续扩展。`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:514:const wuxiaName = `${theme.wuxia}${piece.wuxia}${gradeWuxia}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:515:const xianxiaName = `${theme.xianxia}${piece.xianxia}${gradeXianxia}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:519:const setName = `${theme.setWuxia} / ${theme.setXianxia}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:538:description: `${theme.setWuxia} / ${theme.setXianxia} 套装中的 ${piece.pieceName} 位。相邻编号代表同家族不同锻造阶段,适合围绕 ${theme.synergy.join("、")} 组 build。`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:579:const wuxiaName = `${buildGenericTokenName(leadingToken, WorldType.WUXIA)}${baseWuxiaType}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:580:const xianxiaName = `${buildGenericTokenName(leadingToken, WorldType.XIANXIA)}${baseXianxiaType}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:589:description: `${jewelryType} 家族的 ${descriptor.replace(/_/g, " ")} 款式。围绕 ${role} build 提供核心词条,也可以与同角色定位的项链/手镯/戒指拼成饰品流派。`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:602:setName: `${role} 饰品系`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:733:const wuxiaName = `${buildGenericTokenName(token, WorldType.WUXIA)}${/Dust/u.test(filename) ? "碎屑" : /Crystal/u.test(filename) ? "晶魄" : "宝石"}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:734:const xianxiaName = `${buildGenericTokenName(token, WorldType.XIANXIA)}${/Dust/u.test(filename) ? "粉末" : /Crystal/u.test(filename) ? "灵髓" : "灵晶"}`;
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:747:description: `${token} 系晶石适合做强度梯度:粉尘是材料,宝石是中阶插件,晶体是高阶核心件。`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:760:setName: `${token} 晶石谱系`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:820:description: "技能图标类物品会被设计成功法、符印、强化器或秘卷,用于支撑特定流派的 build 想象。",
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:833:setName: `${role} 功法谱`,
E:\Repos\ai-native-visual-rpg\src\data\itemDesign.ts:906:description: `${readable} 根据视觉和路径被自动归入 ${category} 家族,可作为 ${role} 向 build 的支撑件或素材件。`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:83:title: `平定${targetMonsterName}`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:84:description: `${issuerNpcName}希望你替他处理盘踞在 ${scene.name} 附近的敌对 NPC ${targetMonsterName}。`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:85:summary: `击败 1 名 ${targetMonsterName}`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:110:title: `清理${targetMonsterName}`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:111:description: `${issuerNpcName}希望你替他处理盘踞在${scene.name}附近的${targetMonsterName}。`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:112:summary: `击败 1 次 ${targetMonsterName}`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:133:title: `探明${scene.name}的藏宝线索`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:134:description: `${issuerNpcName}想知道${scene.name}附近那处宝藏是否安全,拜托你先去查明。`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:135:summary: `在 ${scene.name} 完成 1 次宝藏调查`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:154:title: `与 ${issuerNpcName} 切磋一场`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:155:description: `${issuerNpcName}想先摸摸你的底,如果你愿意,就和他点到为止地切磋一场。`,
E:\Repos\ai-native-visual-rpg\src\data\questFlow.ts:156:summary: `和 ${issuerNpcName} 完成 1 次切磋`,
E:\Repos\ai-native-visual-rpg\src\data\sceneEncounterPreviews.ts:33:npcName: 'Treasure',
E:\Repos\ai-native-visual-rpg\src\data\sceneEncounterPreviews.ts:34:npcDescription: `You spot clues tied to ${treasureHint} ahead. It looks like a cache someone hid on purpose.`,
E:\Repos\ai-native-visual-rpg\src\data\sceneEncounterPreviews.ts:36:context: 'Treasure',
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:80:{ packName: 'Pixel Battle Backgrounds - Pack 1', count: 121 },
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:81:{ packName: 'Pixel Battle Backgrounds - Pack 2', count: 119 },
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:82:{ packName: 'Pixel Battle Backgrounds - Pack 3', count: 170 },
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:86:const filename = `${imageNumber.toString().padStart(3, '0')}.png`;
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:191:description: `${npc.description} 动机:${npc.motivation}`,
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:219:description: `${character.description} 这名角色属于自定义世界“${profile.name}”的可扮演阵容。`,
E:\Repos\ai-native-visual-rpg\src\data\scenePresets.ts:230:description: `你在${profile.name}的临时营地整备行装。${profile.summary}`,
E:\Repos\ai-native-visual-rpg\src\data\stateFunctions.ts:372:description: '朝前方主动喊话试探,可能把藏着的 NPC、怪物或其他动静逼出来。',
E:\Repos\ai-native-visual-rpg\src\data\stateFunctions.ts:445:description: '主动朝前方喊话试探,可能把附近潜着的 NPC 或怪物直接从远处引出来。',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\battlePlan.test.ts:9:name: 'Test Hero',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\battlePlan.test.ts:10:title: 'Hero',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\battlePlan.test.ts:11:description: 'A test character',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\battlePlan.test.ts:27:name: 'Basic Strike',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\battlePlan.test.ts:97:actionText: 'Attack',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:26:name: 'Hero',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:27:title: 'Wanderer',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:28:description: 'A reliable test hero.',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:49:name: 'Wolf',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:51:description: 'A test wolf.',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:83:npcName: 'Bandit',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:84:npcDescription: 'A bandit',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:86:context: 'bandit',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:127:actionText: 'Run',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\escapeFlow.test.ts:128:text: 'Run',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:7:name: 'Camp',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:8:description: 'A quiet camp.',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:13:name: 'Trail',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:14:description: 'A mountain trail.',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:52:name: 'Test Hero',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:53:title: 'Hero',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:54:description: 'A test character',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:70:name: 'Basic Strike',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:186:name: 'Wolf',
E:\Repos\ai-native-visual-rpg\src\hooks\combat\resolvedChoice.test.ts:188:description: 'A wolf',
E:\Repos\ai-native-visual-rpg\src\hooks\story\characterChat.ts:283:error: error instanceof Error ? error.message : 'Unknown AI error',
E:\Repos\ai-native-visual-rpg\src\hooks\story\npcEncounterActions.ts:277:resultText: `Victory reward: ${lootText}.`,
E:\Repos\ai-native-visual-rpg\src\hooks\story\npcEncounterActions.ts:389:setAiError(error instanceof Error ? error.message : 'NPC dialogue AI is unavailable.');
E:\Repos\ai-native-visual-rpg\src\hooks\story\npcInteraction.ts:320:runtime.setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\hooks\story\npcInteraction.ts:402:runtime.setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:7:name: 'Camp',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:8:description: 'A quiet camp.',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:17:name: 'Trail',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:18:description: 'A mountain trail.',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:57:name: 'Hero',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:58:title: 'Wanderer',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:59:description: 'A reliable test hero.',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:81:description: `${name} description`,
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:94:npcName: 'Trader Lin',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:95:npcDescription: 'A traveling merchant.',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.test.ts:97:context: 'merchant',
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.ts:137:const travelResultText = `You leave ${state.currentScenePreset?.name ?? 'your current position'} and head toward ${targetScene.name}.`;
E:\Repos\ai-native-visual-rpg\src\hooks\story\storyGenerationState.ts:141:actionText: `Travel to ${targetScene.name}`,
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:576:actionText: 'Travel to ' + sceneName,
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:577:text: 'Travel to ' + sceneName,
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:578:detailText: 'Leave camp and head toward ' + sceneName + '.',
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:654:const actionText = `Speak with ${encounter.npcName}`;
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:659:detailText: 'Focus on the person in front of you first, then decide how to respond.',
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:827:const openingActionText = `Exchange an opening judgment with ${encounter.npcName} at camp`;
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1097:const actionText = 'Begin the adventure';
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1212:setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1264:setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1297:const actionText = `Exchange an opening judgment with ${encounter.npcName} at camp`;
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1374:setAiError(error instanceof Error ? error.message : 'Unknown AI error');
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1407:setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1508:setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1794:setAiError(storyError instanceof Error ? storyError.message : 'Unknown AI error');
E:\Repos\ai-native-visual-rpg\src\hooks\useStoryGeneration.ts:1855:setAiError(error instanceof Error ? error.message : '未知 AI 错误');
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:181:<div className="mt-3 rounded-xl border border-dashed border-white/10 bg-black/20 px-3 py-4 text-center text-xs text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:188:<div className="mt-3 flex flex-wrap gap-2.5">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:202:<div className="absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.12),transparent_55%)] opacity-0 transition group-hover:opacity-100" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:206:className="relative z-[1] h-8 w-8 drop-shadow-[0_6px_10px_rgba(0,0,0,0.35)] sm:h-9 sm:w-9"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:208:<span className="absolute bottom-1 right-1 rounded-full border border-black/35 bg-black/70 px-1.5 py-0.5 text-[10px] font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:230:className="grid gap-1.5"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:259:<div className="rounded-2xl border border-amber-300/15 bg-[radial-gradient(circle_at_top,rgba(251,191,36,0.14),transparent_65%),rgba(0,0,0,0.24)] p-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:260:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:262:<div className="text-[10px] tracking-[0.24em] text-amber-200/80">奖励缓存</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:263:<div className="mt-1 text-[11px] leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:267:<ScrollText className="h-4 w-4 text-amber-200/70" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:270:<div className="mt-3 grid grid-cols-2 gap-2">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:271:<div className="rounded-xl border border-rose-300/18 bg-rose-500/10 px-3 py-2.5 text-rose-50">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:272:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:273:<Heart className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:274:<span className="text-sm font-semibold">+{quest.reward.affinityBonus}</span>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:276:<div className="mt-1 text-[10px] uppercase tracking-[0.2em] text-rose-100/70">好感度</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:278:<div className="rounded-xl border border-amber-300/18 bg-amber-500/10 px-3 py-2.5 text-amber-50">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:279:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:280:<Coins className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:281:<span className="text-sm font-semibold">{formatCurrency(quest.reward.currency, worldType)}</span>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:283:<div className="mt-1 text-[10px] uppercase tracking-[0.2em] text-amber-100/70">货币</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:312:<div className="flex items-center justify-between gap-3 border-b border-white/10 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:314:<div className="text-[10px] tracking-[0.24em] text-white/70">{presentation.eyebrow}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:315:<div className="mt-1 text-sm font-semibold text-white">{presentation.primaryLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:322:<div className="grid gap-3 p-3 sm:grid-cols-[minmax(0,0.95fr)_minmax(0,1.05fr)]">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:323:<div className="relative overflow-hidden rounded-2xl border border-white/10 bg-black/30 p-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:324:<div className="absolute inset-x-0 bottom-0 h-12 bg-gradient-to-t from-black/40 to-transparent" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:325:<div className="flex h-36 items-end justify-center">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:327:<div className="rounded-full bg-[radial-gradient(circle,rgba(248,113,113,0.18),transparent_70%)] p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:331:className="origin-bottom scale-150 sm:scale-[1.85]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:338:className="flex h-24 w-24 items-center justify-center rounded-3xl border border-white/10 bg-black/35"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:341:<PixelIcon src={presentation.iconSrc} alt={presentation.primaryLabel} className="h-14 w-14" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:348:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:349:<div className="grid gap-2 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:350:<div className="rounded-xl border border-white/10 bg-black/25 px-3 py-2.5 text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:351:<div className="text-[10px] uppercase tracking-[0.18em] text-zinc-500">目标</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:352:<div className="mt-2 text-sm font-medium text-white">{presentation.primaryLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:354:<div className="rounded-xl border border-white/10 bg-black/25 px-3 py-2.5 text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:355:<div className="flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:356:<MapPinned className="h-3.5 w-3.5" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:359:<div className="mt-2 text-sm font-medium text-white">{presentation.secondaryLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:363:<div className="rounded-xl border border-white/10 bg-black/25 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:364:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:366:<span className="text-white/70">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:370:<div className="mt-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:374:activeClassName="border-emerald-300/30 bg-emerald-400/85"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:429:className="fixed inset-0 z-[75] flex items-center justify-center bg-black/72 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:437:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(88vh,36rem)] w-full max-w-md flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:441:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:442:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:443:<div className="text-sm font-semibold text-white">冒险设置</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:444:<div className="mt-1 text-[11px] text-zinc-500">调整音乐音量,查看统计数据,或保存并退出。</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:449:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:451:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:455:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:456:<div className="rounded-2xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(56,189,248,0.14),transparent_65%),rgba(0,0,0,0.24)] p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:457:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:459:<div className="text-[10px] tracking-[0.24em] text-sky-200/80">音频</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:460:<div className="mt-2 text-sm font-semibold text-white">音乐音量</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:462:<Volume2 className="h-4 w-4 text-sky-200/75" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:465:<div className="mt-4 flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:473:className="h-2 w-full cursor-pointer accent-sky-400"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:475:<div className="min-w-[3rem] rounded-full border border-white/10 bg-black/30 px-2 py-1 text-center text-xs text-white">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:484:className="w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-left transition hover:border-white/20"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:486:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:488:<div className="text-sm font-semibold text-white">运行统计</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:489:<div className="mt-1 text-[11px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:493:<BarChart3 className="h-4 w-4 text-amber-200/75" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:512:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:514:<div className="text-sm font-semibold">保存并退出</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:515:<div className="mt-1 text-[11px] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:519:<LogOut className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:524:<div className="rounded-xl border border-dashed border-white/10 bg-black/18 px-3 py-3 text-[11px] leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:540:className="fixed inset-0 z-[76] flex items-center justify-center bg-black/76 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:548:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(90vh,42rem)] w-full max-w-2xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:552:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:553:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:554:<div className="text-sm font-semibold text-white">冒险统计</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:555:<div className="mt-1 text-[11px] text-zinc-500">当前区域: {statistics.currentSceneName}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:560:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:562:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:566:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:567:<div className="rounded-2xl border border-amber-300/15 bg-[radial-gradient(circle_at_top,rgba(251,191,36,0.14),transparent_65%),rgba(0,0,0,0.24)] p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:568:<div className="text-[10px] tracking-[0.24em] text-amber-200/80">冒险总览</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:569:<div className="mt-2 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:574:<div className="grid gap-3 sm:grid-cols-2 xl:grid-cols-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:581:className="rounded-2xl border border-white/10 bg-black/22 px-4 py-3"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:583:<div className="flex items-center justify-between gap-3 text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:584:<span className="text-[10px] tracking-[0.18em]">{card.label}</span>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:585:<Icon className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:587:<div className="mt-3 text-lg font-semibold text-white">{card.value}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:588:<div className="mt-1 text-[11px] leading-relaxed text-zinc-500">{card.detail}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:605:className="fixed inset-0 z-[68] flex items-center justify-center bg-black/72 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:616:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(82vh,38rem)] w-full max-w-sm flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:620:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:621:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:622:<div className="text-sm font-semibold text-white">任务日志</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:623:<div className="mt-1 text-[11px] text-zinc-500">总任务数: {quests.length}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:631:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:633:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:637:<div className="flex-1 overflow-y-auto p-3 scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:639:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:645:className="w-full rounded-xl border border-white/8 bg-black/20 px-3 py-2.5 text-left transition hover:border-white/15"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:647:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:648:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:649:<div className="truncate text-sm font-semibold text-white">{quest.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:650:<div className="mt-1 text-[11px] text-zinc-500">{quest.issuerNpcName}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:651:<div className="mt-1 text-xs leading-relaxed text-zinc-400">{quest.summary}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:667:<div className="rounded-xl border border-dashed border-white/10 bg-black/20 px-4 py-6 text-center text-sm text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:683:className="fixed inset-0 z-[69] flex items-center justify-center bg-black/72 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:691:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(86vh,48rem)] w-full max-w-2xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:695:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:696:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:697:<div className="truncate text-sm font-semibold text-white">{selectedQuest.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:698:<div className="mt-1 text-[11px] text-zinc-500">{selectedQuest.issuerNpcName}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:703:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:705:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:709:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-4 scrollbar-hide sm:p-5">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:710:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3.5">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:711:<div className="text-[10px] tracking-[0.24em] text-zinc-500">任务简介</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:712:<div className="mt-2 text-sm leading-relaxed text-zinc-300">{selectedQuest.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:715:<div className="grid gap-3 lg:grid-cols-[minmax(0,1.25fr)_minmax(0,0.75fr)]">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:735:<div className="flex justify-end">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:746:className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-white"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:765:className="fixed inset-0 z-[70] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:776:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,32rem)] w-full max-w-sm flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:780:<div className="min-h-0 flex-1 space-y-3 overflow-y-auto px-5 py-5 text-center">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:781:<div className="text-[11px] tracking-[0.24em] text-emerald-300">任务完成</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:782:<div className="text-lg font-semibold text-white">奖励已准备</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:783:<div className="text-sm text-zinc-300">{completionNoticeQuest.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:784:<div className="rounded-xl border border-emerald-400/15 bg-emerald-500/10 px-3 py-3 text-sm text-emerald-50">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:787:<div className="flex justify-center">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:795:className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-white"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:813:className="fixed inset-0 z-[71] flex items-center justify-center bg-black/72 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:825:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,42rem)] w-full max-w-lg flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:829:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:830:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:831:<div className="text-sm font-semibold text-white">Quest reward claimed</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:832:<div className="mt-1 text-[11px] text-zinc-500">{rewardQuest.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:841:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:843:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:847:<div className="min-h-0 flex-1 overflow-y-auto p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:870:className="fixed inset-0 z-[73] flex items-center justify-center bg-black/72 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:881:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,44rem)] w-full max-w-lg flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:885:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:886:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:887:<div className="text-sm font-semibold text-white">战斗奖励</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:888:<div className="mt-1 text-[11px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:898:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:900:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:904:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:905:<div className="rounded-2xl border border-emerald-300/15 bg-[radial-gradient(circle_at_top,rgba(16,185,129,0.14),transparent_65%),rgba(0,0,0,0.24)] p-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:906:<div className="text-[10px] tracking-[0.24em] text-emerald-200/80">战斗结束</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:907:<div className="mt-2 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:910:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:914:className="rounded-full border border-emerald-300/20 bg-emerald-500/10 px-3 py-1 text-xs text-emerald-50"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:922:<div className="rounded-2xl border border-amber-300/15 bg-[radial-gradient(circle_at_top,rgba(251,191,36,0.14),transparent_65%),rgba(0,0,0,0.24)] p-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:923:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:925:<div className="text-[10px] tracking-[0.24em] text-amber-200/80">战利品</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:926:<div className="mt-1 text-[11px] leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:932:<PackageOpen className="h-4 w-4 text-amber-200/70" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:958:className="fixed inset-0 z-[74] flex items-center justify-center bg-black/72 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:970:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,36rem)] w-full max-w-sm flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:974:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:975:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:976:<div className="truncate text-sm font-semibold text-white">{selectedRewardItem.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:977:<div className="mt-1 text-[11px] text-zinc-500">{selectedRewardItem.category}</div>
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:986:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:988:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:992:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-4">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:993:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:995:<PixelIcon src={getQuestRewardItemIcon(selectedRewardItem)} className="h-10 w-10" />
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:997:<div className="min-w-0 flex-1 space-y-1 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:1005:<div className="rounded-xl border border-white/8 bg-black/20 px-3 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:1010:<div className="rounded-xl border border-emerald-400/15 bg-emerald-500/10 px-3 py-3 text-xs text-emerald-50">
E:\Repos\ai-native-visual-rpg\src\components\adventure-panel\AdventurePanelOverlays.tsx:1015:<div className="rounded-xl border border-white/8 bg-black/20 px-3 py-3 text-xs text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEffectLayer.tsx:114:className="pointer-events-none absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEffectLayer.tsx:127:className="h-full w-full object-contain"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEffectLayer.tsx:165:className="pointer-events-none absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEffectLayer.tsx:176:className="h-full w-full object-contain"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:123:className="absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:146:<div className="relative">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:148:className="absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:161:className="relative flex w-28 flex-col items-center"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:164:<div className="absolute -top-2 left-1/2 -translate-x-1/2">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:170:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:194:className="absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:212:<div className="relative">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:214:<div className="absolute -top-2 left-1/2 -translate-x-1/2">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:221:className="relative block"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:223:<div className="relative" style={{transform: effectivePlayerFacing === 'left' ? 'scaleX(-1)' : undefined}}>
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:235:<div className="absolute -top-9 right-1">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:273:className="absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:288:className="relative flex w-28 flex-col items-center"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:292:className="absolute left-1/2 -translate-x-1/2"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:312:className="scale-[1.82] origin-bottom"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:318:className="origin-bottom drop-shadow-[0_8px_14px_rgba(0,0,0,0.38)]"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:330:className="scale-[1.82] origin-bottom"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:335:<div className="absolute -top-9 left-1">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:377:className="absolute"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:401:className="relative flex w-28 flex-col items-center"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:405:<div className="flex h-20 w-20 items-center justify-center rounded-2xl border border-amber-400/30 bg-amber-500/15 shadow-[0_0_20px_rgba(255,255,255,0.12)]">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:409:className="h-12 w-12 object-contain"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:424:className="scale-[1.82] origin-bottom"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:429:className="drop-shadow-[0_8px_14px_rgba(0,0,0,0.38)]"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasEntityLayer.tsx:436:<div className="absolute -top-9 left-1">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasOverlayLayer.tsx:10:<div className="pointer-events-none absolute inset-0 bg-gradient-to-t from-black/60 via-transparent to-black/20" />
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasOverlayLayer.tsx:14:className="pointer-events-none absolute inset-0"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasOverlayLayer.tsx:20:className="pointer-events-none absolute inset-x-0 top-4 text-center"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasOverlayLayer.tsx:28:<span className="rounded-full border border-sky-300/30 bg-sky-950/65 px-3 py-1 text-[10px] font-bold tracking-[0.25em] text-sky-100">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasRuntime.tsx:143:<div ref={stageRef} className="relative h-full w-full overflow-hidden bg-black">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:38:className="absolute inset-0 h-full w-full object-cover"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:44:className="absolute inset-0"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:56:<div className="pointer-events-none absolute inset-0 opacity-10 mix-blend-overlay [background-image:radial-gradient(circle_at_20%_20%,rgba(255,255,255,0.14),transparent_20%),radial-gradient(circle_at_80%_30%,rgba(255,255,255,0.08),transparent_18%),radial-gradient(circle_at_50%_80%,rgba(255,255,255,0.06),transparent_22%)]" />
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:63:className="pointer-events-none absolute bottom-[9%] left-1/2 z-[1] w-[min(92%,980px)] -translate-x-1/2 object-contain opacity-95"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:72:<div className="absolute left-1/2 top-3 z-20 -translate-x-1/2">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:78:className="pointer-events-none absolute left-0 top-1/2 -translate-x-[46%] -translate-y-1/2"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:82:className="h-[2.35rem] w-[2.35rem] opacity-95"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:91:className="pointer-events-none absolute right-0 top-1/2 translate-x-[46%] -translate-y-1/2"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:95:className="h-[2.35rem] w-[2.35rem] opacity-95"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:102:className="pixel-nine-slice pixel-pressable relative z-10 min-w-[168px] max-w-[min(68vw,320px)] text-center text-[11px] font-bold tracking-[0.18em] text-white"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:105:<span className="block overflow-hidden" style={{perspective: '480px'}}>
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:106:<span className="relative block h-[1.1rem] overflow-hidden leading-[1.1rem]">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasSceneLayer.tsx:114:className="absolute inset-0 flex items-center justify-center whitespace-nowrap"
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasShared.tsx:110:<div className="w-11">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasShared.tsx:111:<div className="h-1 overflow-hidden rounded-full border border-white/10 bg-black/55 shadow-[0_1px_4px_rgba(0,0,0,0.35)]">
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasShared.tsx:223:<div className="h-full w-full" style={{transform: facing === 'left' ? 'scaleX(-1)' : undefined}}>
E:\Repos\ai-native-visual-rpg\src\components\game-canvas\GameCanvasShared.tsx:257:className="pointer-events-none"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:261:<div className="flex h-full min-h-0 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:262:<div className="mb-3 flex justify-start">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:266:className="rounded-full border border-white/10 bg-black/18 px-3 py-1.5 text-[11px] text-zinc-300 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:271:<div className="mb-4 text-center">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:272:<div className="text-2xl font-black text-white sm:text-[2rem]">选择你的角色</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:273:<div className="mt-1 text-[11px] tracking-[0.14em] text-zinc-500">左右滑动浏览角色</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:279:className="character-carousel scrollbar-hide flex-[1_1_auto]"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:299:<span className="character-carousel__cover">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:304:className="character-carousel__portrait character-carousel__portrait--animated"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:307:<img src={character.portrait} alt={meta.name} className="character-carousel__portrait" style={{imageRendering: 'pixelated'}} />
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:312:<span className="character-carousel__selected-name">{meta.name}</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:313:<span className="character-carousel__meta character-carousel__meta--selected">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:314:<span className="character-carousel__title character-carousel__title--selected">{meta.title}</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:318:<span className="character-carousel__meta">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:319:<span className="character-carousel__name">{meta.name}</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:320:<span className="character-carousel__title">{meta.title}</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:329:<div className="mt-3 grid gap-2 md:grid-cols-[0.85fr_1.15fr]">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:330:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.statsPanel, {paddingX: 12, paddingY: 10})}>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:331:<div className="mb-2 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:332:<div className="text-xs font-bold text-white">角色属性</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:333:<div className="flex items-center gap-2 text-[10px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:335:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:340:<div className="grid grid-cols-4 gap-1 text-[11px] text-zinc-300 sm:gap-1.5 sm:text-[13px]">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:342:<div key={key} className="rounded-lg border border-white/6 bg-black/20 px-2 py-1.5 text-center sm:px-2.5">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:350:className="pixel-nine-slice pixel-panel character-backstory-panel flex flex-col"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:353:<div className="mb-2 flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:354:<div className="character-backstory-title text-xs font-bold text-white">背景故事</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:358:className="rounded-full border border-sky-300/20 bg-sky-500/10 px-3 py-1 text-[10px] text-sky-100 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:363:<div className="flex flex-1 flex-col text-[13px] leading-6 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:365:<div className="mt-auto flex items-end justify-between gap-3 pt-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:366:<div className="min-w-0 flex flex-wrap gap-1.5">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:368:<span key={tag} className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:377:className="shrink-0 text-[11px] font-medium text-sky-200 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:386:<div className="mt-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:390:className="pixel-nine-slice pixel-pressable mx-auto block w-full max-w-[16rem] text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:393:<div className="flex items-center justify-between gap-4">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:394:<span className="text-sm font-semibold text-white">进入营地</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:395:<span className="text-white/60">开始</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\CharacterSelectionFlow.tsx:404:subtitle="Character Details"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellLoaders.tsx:12:className="fixed inset-0 z-[90] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellLoaders.tsx:16:className="pixel-nine-slice pixel-modal-shell flex min-h-40 w-full max-w-md items-center justify-center px-6 py-8 text-center text-sm text-zinc-300 shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellLoaders.tsx:32:<div className="pixel-nine-slice flex min-h-0 flex-1 items-center justify-center px-4 py-6 text-center text-xs uppercase tracking-[0.24em] text-zinc-500" style={getNineSliceStyle(UI_CHROME.modalPanel)}>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:138:className="fixed inset-0 z-[65] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:146:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,60rem)] w-full max-w-5xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:150:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:151:<div className="min-w-0 pr-10 text-sm font-semibold text-white">{overlayPanel === 'character' ? '闃熶紞' : '鑳屽寘'}</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:155:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:157:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:160:<div className="flex min-h-0 flex-1 p-5">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellOverlays.tsx:261:<Suspense fallback={<ModalLoadingFallback label="姝e湪鍔犺浇 NPC 浜や簰..." />}>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:188:className="fusion-pixel-app pixel-root-shell flex h-screen max-h-screen flex-col overflow-hidden font-sans text-zinc-100"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:197:<div className="absolute inset-0 flex items-center justify-center bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.14),transparent_40%),linear-gradient(180deg,rgba(8,10,14,0.2),rgba(8,10,14,0.82))]">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:198:<div className="text-center">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:199:<div className="text-5xl font-black tracking-[0.14em] text-white sm:text-6xl">叙世</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:200:<div className="mt-3 text-sm tracking-[0.44em] text-zinc-300 sm:text-base">GENARRATIVE</div>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:263:className="flex h-full min-h-0 flex-col"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellRuntime.tsx:278:<motion.div key="story-flow" initial={{opacity: 0}} animate={{opacity: 1}} className="flex h-full min-h-0 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:112:<div className="story-top-tabs mb-3 grid grid-cols-3 gap-2 sm:gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:118:<span className="pixel-tab-button__inner">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:123:<span className="pixel-tab-button__label">闃熶紞</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:131:<span className="pixel-tab-button__inner">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:136:<span className="pixel-tab-button__label">鍐掗櫓</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:144:<span className="pixel-tab-button__inner">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\GameShellStoryPanels.tsx:149:<span className="pixel-tab-button__label">鑳屽寘</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:48:{ label: 'QQ Group', value: '1094580241' },
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:49:{ label: 'WeChat', value: 'bzh253518756' },
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:269:className="flex h-full w-full items-center justify-center"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:271:<div className="flex h-full w-full max-w-sm flex-col gap-5 py-4 sm:py-6">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:272:<div className="flex min-h-0 flex-1 items-center">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:273:<div className="flex w-full flex-col gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:278:className="pixel-nine-slice pixel-pressable w-full text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:284:<div className="flex items-center justify-between">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:285:<span className="text-base font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:288:<span className="text-white/60">开始</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:303:className="pixel-nine-slice pixel-pressable w-full text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:309:<div className="flex items-center justify-between">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:310:<span className="text-base font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:313:<span className="text-white/60">开始</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:319:className="pixel-nine-slice pixel-pressable w-full text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:325:<div className="flex items-center justify-between">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:326:<span className="text-base font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:329:<span className="text-white/60">查看</span>
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:335:className="pixel-nine-slice pixel-panel w-full"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:341:<div className="text-[10px] font-bold tracking-[0.2em] text-emerald-200/75">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:344:<div className="mt-3 space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:348:className="flex items-center justify-between gap-3 rounded-xl border border-white/8 bg-black/20 px-3 py-2 text-sm text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:350:<span className="text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:353:<span className="font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:370:className="flex h-full min-h-0 flex-col"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:372:<div className="mb-4 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:373:<div className="text-sm font-bold tracking-[0.2em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:382:className="rounded-full border border-white/10 bg-black/18 px-3 py-1.5 text-[11px] text-zinc-300 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:388:<div className="min-h-0 flex-1 overflow-y-auto pr-1">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:389:<div className="grid gap-3 pb-1 md:grid-cols-2 xl:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:395:className="pixel-nine-slice pixel-pressable order-2 relative flex min-h-[12.5rem] flex-col items-start justify-between overflow-hidden text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:405:className="absolute inset-0 h-full w-full object-cover opacity-25"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:409:<div className="absolute inset-0 bg-[linear-gradient(180deg,rgba(8,10,14,0.12),rgba(8,10,14,0.82))]" />
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:410:<div className="absolute right-3 top-3 flex h-9 w-9 items-center justify-center rounded-full border border-white/10 bg-black/25">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:413:className="h-5 w-5 opacity-95"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:416:<div className="relative z-10 flex h-full w-full flex-col">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:417:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:418:<div className="rounded-full border border-white/10 bg-black/24 px-3 py-1 text-[10px] tracking-[0.2em] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:423:className="h-10 w-10 opacity-95"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:426:<div className="mt-auto">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:427:<div className="text-3xl font-black text-white">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:430:<div className="mt-2 flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:431:<span className="rounded-full border border-emerald-400/20 bg-emerald-500/10 px-3 py-1 text-[10px] text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:434:<span className="rounded-full border border-white/10 bg-black/24 px-2.5 py-1 text-[10px] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:450:className="pixel-nine-slice pixel-pressable order-1 relative flex min-h-[12.5rem] flex-col items-start justify-between overflow-hidden text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:460:className="absolute inset-0 h-full w-full object-cover opacity-25"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:464:<div className="absolute inset-0 bg-[linear-gradient(180deg,rgba(8,10,14,0.14),rgba(8,10,14,0.84))]" />
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:465:<div className="relative z-10 flex h-full w-full flex-col">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:466:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:467:<div className="rounded-full border border-sky-300/20 bg-sky-500/10 px-3 py-1 text-[10px] tracking-[0.2em] text-sky-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:470:<div className="rounded-full border border-white/10 bg-black/24 px-2.5 py-1 text-[10px] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:476:<div className="mt-auto">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:477:<div className="text-2xl font-black text-white sm:text-[1.7rem]">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:480:<div className="mt-2 line-clamp-2 max-w-[18rem] text-xs leading-5 text-zinc-200/90">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:483:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:484:<span className="rounded-full border border-emerald-400/20 bg-emerald-500/10 px-3 py-1 text-[10px] text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:487:<span className="rounded-full border border-white/10 bg-black/24 px-2.5 py-1 text-[10px] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:504:className="pixel-nine-slice pixel-pressable order-first relative flex min-h-[12.5rem] flex-col items-start justify-between overflow-hidden text-left"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:510:<div className="absolute inset-0 bg-[radial-gradient(circle_at_top_left,rgba(125,211,252,0.18),transparent_42%),linear-gradient(180deg,rgba(8,10,14,0.18),rgba(8,10,14,0.82))]" />
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:511:<div className="absolute right-3 top-3 flex h-9 w-9 items-center justify-center rounded-full border border-sky-300/20 bg-sky-500/10">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:514:className="h-5 w-5 opacity-95"
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:517:<div className="relative z-10 flex h-full w-full flex-col">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:518:<div className="rounded-full border border-sky-300/20 bg-sky-500/10 px-3 py-1 text-[10px] tracking-[0.2em] text-sky-100">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:521:<div className="mt-auto">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:522:<div className="text-3xl font-black text-white">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:525:<div className="mt-2 max-w-[16rem] text-sm leading-6 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\game-shell\PreGameSelectionFlow.tsx:544:className="flex h-full min-h-0 flex-col"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:92:errorMessage: 'Failed to save character preset overrides.',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:149:return <EditorEmptyState message="No character presets are available." />;
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:220:name: 'New Skill',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:261:<div className="grid gap-6 xl:grid-cols-[360px_1fr_420px]">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:264:title="Characters"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:265:description="Browse the character roster and edit preset data."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:266:selectLabel="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:275:label: `${optionCharacter.name} 闂?${optionCharacter.title}`,
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:279:saveLabel="Save Character Overrides"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:284:<div className="mt-4 rounded-xl border border-white/10 bg-white/5 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:286:<div className="flex items-start gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:288:<div className="flex h-20 w-20 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-white/10 bg-black/30">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:293:className="h-full w-full scale-125 object-contain"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:297:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:299:<div className="text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:302:<div className="mt-1 text-[11px] uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:305:<div className="mt-2 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:312:<div className="space-y-6">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:315:title="Character Details"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:316:description="Edit the core character profile and preview settings."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:319:<div className="mb-4 grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:322:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:337:<div className="mb-5 flex min-h-[320px] items-center justify-center rounded-2xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(16,185,129,0.14),transparent_45%),linear-gradient(180deg,#161922,#0c0f15)] p-6">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:339:<div className="relative flex h-[260px] w-[220px] items-end justify-center overflow-hidden rounded-2xl border border-white/5 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:341:<div className="absolute inset-x-0 bottom-0 h-20 bg-[radial-gradient(circle_at_center,rgba(16,185,129,0.16),transparent_65%)]" />{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:345:className="h-[210px] w-[210px] scale-[1.15] origin-bottom"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:349:<div className="grid gap-4 lg:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:351:<div className="rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:353:<div className="mb-3 text-xs font-semibold uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:356:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:361:className="rounded-lg border border-white/5 bg-white/[0.03] px-3 py-2 text-sm text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:364:<div className="text-[11px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:367:<div className="mt-1">{item.item}</div>{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:368:<div className="mt-1 text-[11px] text-amber-200/80">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:375:<div className="rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:377:<div className="mb-3 text-xs font-semibold uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:380:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:386:className="rounded-lg border border-white/5 bg-white/[0.03] px-3 py-2 text-sm text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:389:<div className="text-[11px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:392:<div className="mt-1">{item.name}</div>{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:393:<div className="mt-1 text-[11px] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:404:title="Skill Preview"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:405:description="Preview ranged skills for the selected character."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:408:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:409:<div className="grid gap-3 md:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:411:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:420:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:429:label="Preview Monster"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:444:<div className="rounded-xl border border-white/10 bg-black/20 px-4 py-4 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:450:title="Skill Setup"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:451:description="Configure the selected character's skills."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:454:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:456:<div className="flex items-center justify-between">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:458:<div className="text-xs uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:464:className="inline-flex items-center gap-2 rounded-lg border border-emerald-400/20 bg-emerald-500/10 px-3 py-1.5 text-xs text-emerald-100 transition hover:bg-emerald-500/20"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:467:<Plus className="h-3.5 w-3.5" /> <span>Add Skill</span>{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:473:className="rounded-xl border border-white/10 bg-black/20 p-4"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:476:<div className="mb-3 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:478:<div className="text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:484:className="rounded-lg border border-rose-400/20 bg-rose-500/10 p-2 text-rose-100 transition hover:bg-rose-500/20"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:487:<Trash2 className="h-4 w-4" />{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:490:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:493:label="閹垛偓閼?ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:498:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:503:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:514:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:529:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:535:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:541:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:549:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:557:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:574:<div className="text-xs uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:577:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:582:className="rounded-xl border border-white/10 bg-black/20 p-4"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:585:<div className="mb-3 text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:588:<div className="grid gap-3 md:grid-cols-2 xl:grid-cols-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:591:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:598:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:605:label="Start Frame"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:613:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:627:<div className="space-y-6">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:629:<SectionCard title="Section" description="Editor section.">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:631:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:634:label="鐟欐帟澹?ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:640:label="Name"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:645:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:650:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:655:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:660:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:670:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:675:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:687:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:697:title="Attributes"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:698:description="Adjust the core character attributes."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:701:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:704:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:710:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:716:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:722:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:729:<SectionCard title="Section" description="Editor section.">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:731:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:736:className="rounded-xl border border-white/10 bg-black/20 p-4"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:739:<div className="mb-3 text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:742:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:745:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:755:{ label: 'Unset', value: '' },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\CharacterPresetPanel.tsx:763:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\LazyEditorFallback.tsx:3:<div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:50:errorMessage: 'Failed to save monster overrides.',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:57:<div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:121:<div className="grid gap-6 xl:grid-cols-[340px_1fr_400px]">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:124:title="Section"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:125:description="Editor section."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:126:selectLabel="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:135:label: `${WORLD_LABELS[monster.worldType]} 闂?${optionMonster.name}`,
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:139:saveLabel="Save Monster Overrides"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:144:<div className="mt-4 rounded-xl border border-white/10 bg-white/5 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:146:<div className="text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:149:<div className="mt-1 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:152:<div className="mt-2 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:158:title="Monster Override Preview"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:159:description="Editor section."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:162:<div className="mb-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:165:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:178:<div className="flex min-h-[360px] items-center justify-center rounded-2xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(250,204,21,0.12),transparent_40%),linear-gradient(180deg,#1a1711,#0f0d09)] p-6">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:180:<div className="flex h-[240px] w-[240px] items-end justify-center rounded-2xl border border-white/5 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:185:className="scale-[2.5] origin-bottom"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:189:<div className="mt-4 grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:191:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:194:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:197:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:200:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:205:<div className="space-y-6">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:207:<SectionCard title="Section" description="Editor section.">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:209:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:212:label="Monster ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:218:label="Name"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:223:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:228:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:234:label="Intro Action"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:240:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:248:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:256:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:262:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:268:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:275:<SectionCard title="Section" description="Editor section.">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:277:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:280:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:287:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:294:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:300:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:307:<SectionCard title="Section" description="Editor section.">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:309:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:318:className="rounded-xl border border-white/10 bg-black/20 p-4"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:321:<div className="mb-3 text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:324:<div className="grid gap-3 md:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:327:label="Field"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\MonsterPresetPanel.tsx:343:label="FPS"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:127:successMessage: 'Saved NPC overrides.',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:128:errorMessage: 'Failed to save NPC overrides.',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:159:return <EditorEmptyState message="No NPC presets are available." />;
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:174:<div className="grid gap-6 xl:grid-cols-[340px_1fr_400px]">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:177:title="NPC Library"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:178:description="Browse and select an NPC preset."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:179:selectLabel="NPC ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:188:label: `${optionNpc.name} (${item.sceneNames.join(' / ')})`,
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:192:saveLabel="Save NPC Overrides"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:197:<div className="mt-4 rounded-xl border border-white/10 bg-white/5 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:199:<div className="text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:202:<div className="mt-1 text-xs text-zinc-400">{effectiveNpc.role}</div>{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:203:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:208:className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[11px] text-zinc-300"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:215:<div className="mt-3 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:221:title="Skill Preview"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:222:description="Preview ranged skills from the linked character."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:225:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:226:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:228:label="Skill"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:237:label="World"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:257:<div className="rounded-xl border border-white/10 bg-black/20 px-4 py-4 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:264:title="Visual Preview"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:272:<div className="flex min-h-[420px] items-center justify-center rounded-2xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(244,63,94,0.16),transparent_45%),linear-gradient(180deg,#17131a,#0d0a0f)] p-6">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:274:<div className="relative flex h-[340px] w-[260px] items-end justify-center overflow-hidden rounded-2xl border border-white/5 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:276:<div className="absolute inset-0 opacity-10 [background-image:linear-gradient(rgba(255,255,255,0.16)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.16)_1px,transparent_1px)] [background-size:20px_20px]" />{' '}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:277:<div className="mb-8 drop-shadow-[0_18px_24px_rgba(0,0,0,0.45)]">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:282:className="scale-[2.4] origin-bottom"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:290:<div className="mt-4 rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:292:<div className="mb-3 text-xs uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:295:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:300:className="rounded-full border border-white/10 bg-white/[0.03] px-3 py-1 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:310:title="NPC Details"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:311:description="Edit the selected NPC preset."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:314:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:317:label="NPC ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:323:label="Name"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:328:label="Role"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:333:label="Avatar"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:338:label="Linked Character ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:344:label="Monster Preset ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:351:label="Initial Affinity"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:356:label="Description"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:361:<div className="rounded-xl border border-white/10 bg-black/20 px-3 py-3 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:368:<div className="xl:col-span-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:371:title="Visual Editor"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:377:className="p-6"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\SceneNpcPresetPanel.tsx:381:<div className="rounded-xl border border-white/10 bg-black/20 px-4 py-4 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:52:successMessage: 'Saved scene overrides.',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:53:errorMessage: 'Failed to save scene overrides.',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:61:<div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:105:npcName: 'Treasure Ahead',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:108:context: 'Treasure',
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:130:<div className="grid gap-6 xl:grid-cols-[340px_1fr_400px]">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:132:title="Scene Library"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:133:description="Browse and select a scene preset."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:136:label="Scene"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:145:label: `${WORLD_LABELS[scene.worldType]} - ${optionScene.name}`,
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:150:<div className="mt-4 rounded-xl border border-white/10 bg-white/5 p-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:151:<div className="text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:154:<div className="mt-1 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:157:<div className="mt-2 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:162:saveLabel="Save"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:170:title="Scene Preview"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:171:description="Preview monsters, NPCs, and treasure for the selected scene."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:173:<div className="mb-4">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:175:label="Preview Mode"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:179:{ label: 'Monster Preview', value: 'monster' },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:180:{ label: 'NPC Preview', value: 'npc' },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:181:{ label: 'Treasure Preview', value: 'treasure' },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:182:{ label: 'Empty', value: 'empty' },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:186:<div className="h-[420px] overflow-hidden rounded-2xl border border-white/10 bg-black">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:204:<div className="mt-4 grid gap-3 md:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:205:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:206:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:209:<div className="mt-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:213:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:214:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:217:<div className="mt-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:221:<div className="rounded-xl border border-white/10 bg-black/20 p-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:222:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:225:<div className="mt-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:233:title="Scene Details"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:234:description="Edit the selected scene preset."
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:236:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:238:label="Scene ID"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:244:label="World"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:250:label="Name"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:255:label="Description"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:261:label="Image Source"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:266:label="Forward Scene"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:271:options={[{ label: 'Unset', value: '' }, ...sceneOptions]}
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:274:label="Connected Scene IDs"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:282:label="Monster IDs"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:290:label="Treasure Hints"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:297:<div className="rounded-xl border border-white/10 bg-black/20 p-3">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:298:<div className="mb-2 text-xs font-medium text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:301:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\ScenePresetPanel.tsx:305:className="rounded-full border border-white/10 bg-white/[0.03] px-3 py-1 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\shared.ts:42:{ id: 'characters', label: 'Characters', icon: User },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\shared.ts:43:{ id: 'npcs', label: 'NPC', icon: Users },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\shared.ts:44:{ id: 'scenes', label: 'Scenes', icon: MapIcon },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\shared.ts:45:{ id: 'monsters', label: 'Monsters', icon: Sword },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\shared.ts:46:{ id: 'items', label: 'Items', icon: Package },
E:\Repos\ai-native-visual-rpg\src\components\preset-editor\shared.ts:47:{ id: 'functions', label: 'Functions', icon: Braces },
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:206:<div className="space-y-3 rounded-xl border border-sky-400/12 bg-sky-500/6 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:207:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.16em] text-sky-100/80">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:209:<span className="text-zinc-400">{'\u70b9\u51fb\u6807\u7b7e\u67e5\u770b\u8d21\u732e\u8ba1\u7b97'}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:211:<div className="flex justify-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:212:<div className="w-full max-w-[12rem] rounded-xl border border-white/8 bg-black/20 px-3 py-2 text-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:213:<div className="text-[10px] uppercase tracking-[0.16em] text-zinc-500">{'\u603b\u4fee\u6b63\u500d\u6570'}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:214:<div className="mt-1 text-sm font-semibold tabular-nums text-emerald-100">x{breakdown.totalContributionMultiplier.toFixed(2)}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:218:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:224:className="min-w-[6.25rem] rounded-xl border px-3 py-2 text-left text-[10px] text-white transition-transform hover:-translate-y-0.5"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:228:<div className="flex items-center justify-between gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:229:<span className="font-medium">{row.label}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:230:<span className="text-[11px] font-semibold tabular-nums text-current/80">{row.product.toFixed(2)}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:232:<div className="mt-2 h-1.5 overflow-hidden rounded-full bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:233:<div className="h-full rounded-full" style={getContributionTrackStyle(row.product, weakestProduct, strongestProduct)} />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:239:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:340:<div className="space-y-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:341:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.16em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:343:<span className="text-zinc-200">{current} / {max}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:345:<div className="h-2 overflow-hidden rounded-full border border-white/10 bg-black/45">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:362:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(chrome)}>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:363:<div className="mb-3 text-xs font-bold text-white">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:375:<div className="grid grid-cols-2 gap-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:377:<div key={key} className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:378:<div className="text-[10px] uppercase tracking-[0.18em] text-zinc-500">{ATTRIBUTE_LABELS[key]}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:379:<div className="mt-1 text-base text-white">{value}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:394:<div className="grid gap-2 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:402:<div className="flex items-center justify-between gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:403:<div className="font-semibold text-white">{skill.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:404:<span className="rounded-full border border-white/10 bg-white/6 px-2 py-0.5 text-[10px] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:408:<div className="mt-2 grid grid-cols-2 gap-2 text-[11px] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:415:<div className="mt-3 flex items-center justify-between text-[10px] tracking-[0.16em] text-sky-200/85">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:432:<div className="space-y-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:436:className="flex items-center justify-between rounded-lg border border-white/5 bg-black/20 px-3 py-2"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:438:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:439:<PixelIcon src={getEquipmentSlotIcon(item.slot)} className="h-8 w-8" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:441:<div className="text-[10px] tracking-[0.2em] text-zinc-500">{item.slot}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:445:<span className="rounded-full border border-amber-500/20 bg-amber-500/10 px-2 py-0.5 text-[10px] text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:466:accentClassName: 'border-white/12 bg-white/8 text-zinc-100',
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:472:accentClassName: 'border-sky-300/20 bg-sky-500/10 text-sky-100',
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:478:accentClassName: 'border-emerald-300/20 bg-emerald-500/10 text-emerald-100',
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:484:accentClassName: 'border-amber-300/20 bg-amber-500/10 text-amber-100',
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:490:accentClassName: 'border-rose-300/22 bg-rose-500/12 text-rose-100',
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:509:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:510:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:511:<div className="flex flex-wrap items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:513:<div className="text-[10px] tracking-[0.18em] text-zinc-500">好感等级</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:514:<div className="mt-2 flex flex-wrap items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:518:<span className="text-sm font-semibold text-white">当前好感 {affinity}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:521:<div className="text-right text-[10px] tracking-[0.16em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:525:<div className="mt-1 text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:531:<div className="text-zinc-200">已达最高节点</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:532:<div className="mt-1">继续提升可稳固关系优势</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:537:<p className="mt-3 text-sm leading-relaxed text-zinc-300">{currentLevel.description}</p>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:540:<div className="rounded-xl border border-white/8 bg-black/20 px-3 py-3 sm:px-4 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:541:<div className="text-[10px] tracking-[0.18em] text-zinc-500">好感进度</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:542:<div className="mt-1 text-[11px] leading-relaxed text-zinc-500">节点数值表示进入对应等级所需的好感度。</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:544:<div className="relative mt-4 pt-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:545:<div className="absolute left-0 right-0 top-5 h-px bg-gradient-to-r from-transparent via-white/18 to-transparent" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:546:<div className="absolute left-0 right-0 top-[1.02rem] h-2 rounded-full border border-white/8 bg-gradient-to-b from-white/[0.08] via-white/[0.03] to-black/35 shadow-[inset_0_1px_0_rgba(255,255,255,0.05)]" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:548:className="absolute left-0 top-[1.02rem] h-2 rounded-full bg-gradient-to-r from-sky-300 via-amber-300 to-rose-300 shadow-[0_0_16px_rgba(251,191,36,0.16)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:562:className="absolute top-0"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:568:<div className="relative flex h-9 w-4 items-end justify-center sm:h-11 sm:w-5">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:570:<div className="absolute bottom-0 h-8 w-3 rounded-full bg-sky-300/20 blur-[6px] sm:h-10 sm:w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:573:<div className="absolute bottom-0 h-6 w-2.5 rounded-full bg-amber-300/10 blur-[4px] sm:h-7" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:584:<div className="absolute inset-x-0 top-0 h-1/3 bg-white/20" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:591:<div className="grid grid-cols-5 gap-1 pt-10 sm:gap-2 sm:pt-12">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:596:<div key={`affinity-label-${level.value}`} className="text-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:755:className="fixed inset-0 z-[72] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:763:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,60rem)] w-full max-w-4xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:767:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:768:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:769:<div className="text-[10px] tracking-[0.22em] text-sky-300/80">实体详情</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:770:<div className="mt-1 text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:780:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:782:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:786:<div className="min-h-0 flex-1 overflow-y-auto p-4 sm:p-5 lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:788:<div className="grid min-h-0 gap-4 lg:grid-cols-[minmax(0,0.82fr)_minmax(0,1.18fr)] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:789:<div className="space-y-4 lg:max-h-full lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:791:<div className="flex flex-col items-center text-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:792:<div className="flex h-40 w-full max-w-[16rem] items-center justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:796:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:797:imageClassName="object-bottom"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:801:<div className="mt-3 rounded-full border border-amber-400/25 bg-amber-500/10 px-3 py-1 text-[10px] tracking-[0.18em] text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:804:<div className="mt-3 text-base font-bold text-white">{playerCharacter.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:805:<div className="mt-1 flex items-center justify-center gap-2 text-[10px] tracking-[0.2em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:807:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:811:<p className="mt-3 text-sm leading-relaxed text-zinc-300">{playerCharacter.description}</p>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:816:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:829:<div className="space-y-4 lg:min-h-0 lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:834:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:839:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:862:<div className="grid min-h-0 gap-4 lg:grid-cols-[minmax(0,0.82fr)_minmax(0,1.18fr)] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:863:<div className="space-y-4 lg:max-h-full lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:865:<div className="flex flex-col items-center text-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:866:<div className="flex h-40 w-full max-w-[16rem] items-center justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:870:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:871:imageClassName="object-bottom"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:875:<div className="mt-3 rounded-full border border-sky-400/25 bg-sky-500/10 px-3 py-1 text-[10px] tracking-[0.18em] text-sky-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:878:<div className="mt-3 text-base font-bold text-white">{companionCharacter.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:879:<div className="mt-1 flex items-center justify-center gap-2 text-[10px] tracking-[0.2em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:881:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:885:<p className="mt-3 text-sm leading-relaxed text-zinc-300">{companionCharacter.description}</p>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:890:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:892:label="HP"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:898:label="MP"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:911:<div className="mt-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:916:<div className="hidden mt-4 grid grid-cols-2 gap-2 text-xs text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:917:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">好感:{companionNpcState.affinity}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:918:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:926:<div className="space-y-4 lg:min-h-0 lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:931:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:936:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:959:<div className="grid min-h-0 gap-4 lg:grid-cols-[minmax(0,0.78fr)_minmax(0,1.22fr)] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:960:<div className="space-y-4 lg:max-h-full lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:962:<div className="flex flex-col items-center text-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:963:<div className="flex h-40 w-full items-end justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:965:<div className="flex h-full w-full items-end justify-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:975:<div className="text-sm text-zinc-500">无可用立绘</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:978:<div className="mt-3 rounded-full border border-emerald-400/25 bg-emerald-500/10 px-3 py-1 text-[10px] tracking-[0.18em] text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:981:<div className="mt-3 text-base font-bold text-white">{selection.monster.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:982:<p className="mt-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:989:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:992:<div className="mt-4 rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:998:<div className="space-y-4 lg:min-h-0 lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1000:<div className="grid grid-cols-2 gap-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1001:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">动画:{getMonsterAnimationLabel(selection.monster.animation)}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1002:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">攻击距离:{selection.monster.attackRange}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1003:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">速度:{selection.monster.speed}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1004:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1013:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1019:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1023:className="rounded-full border border-white/10 bg-black/20 px-3 py-1 text-xs text-zinc-300"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1032:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1036:className="flex items-center justify-between gap-3 rounded-xl border border-white/8 bg-black/20 px-3 py-2.5 text-sm text-zinc-300"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1038:<div className="flex min-w-0 items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1039:<div className="flex h-10 w-10 items-center justify-center rounded-xl border border-white/10 bg-black/25">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1040:<PixelIcon src={getRewardItemIcon(entry.item)} className="h-6 w-6" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1042:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1043:<div className="truncate font-medium text-white">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1047:<div className="mt-1 text-[10px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1052:<span className="shrink-0 rounded-full border border-amber-300/20 bg-amber-500/10 px-2.5 py-1 text-[10px] tracking-[0.16em] text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1059:<div className="rounded-xl border border-dashed border-white/10 bg-black/20 px-4 py-3 text-sm leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1071:<div className="grid min-h-0 gap-4 [&>div:last-child>:first-child]:hidden lg:grid-cols-[minmax(0,0.82fr)_minmax(0,1.18fr)] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1072:<div className="space-y-4 lg:max-h-full lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1073:<Section title="NPC 信息">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1074:<div className="flex flex-col items-center text-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1075:<div className="flex h-40 w-full max-w-[16rem] items-end justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1080:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1081:imageClassName="object-bottom"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1086:className="flex h-full w-full items-end justify-center"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1097:className="flex h-full w-full items-end justify-center"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1104:className="origin-bottom shrink-0"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1110:<div className="mt-3 rounded-full border border-rose-400/25 bg-rose-500/10 px-3 py-1 text-[10px] tracking-[0.18em] text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1113:<div className="mt-3 text-base font-bold text-white">{npcContext.encounter.npcName}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1114:<div className="mt-1 flex items-center justify-center gap-2 text-[10px] tracking-[0.2em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1116:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1120:<p className="mt-3 text-sm leading-relaxed text-zinc-300">{npcContext.encounter.npcDescription}</p>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1125:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1141:<div className="max-h-72 space-y-2 overflow-y-auto pr-1 scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1148:className="group flex w-full items-center justify-between rounded-lg border border-white/5 bg-black/20 px-3 py-2 text-left text-sm text-zinc-300 transition hover:border-amber-300/25 hover:bg-white/[0.05]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1150:<div className="flex min-w-0 items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1151:<PixelIcon src={getRewardItemIcon(item)} className="h-8 w-8 shrink-0" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1152:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1153:<div className="truncate text-white">{item.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1154:<div className="mt-0.5 flex items-center gap-2 text-[10px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1155:<span className="truncate">{item.category}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1156:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1162:<div className="shrink-0 text-right">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1163:<div className="text-xs text-zinc-200">x{item.quantity}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1164:<div className="mt-1 text-[10px] uppercase tracking-[0.16em] text-amber-200/80 transition group-hover:text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1175:<div className="space-y-4 lg:min-h-0 lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1177:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1179:<div key={`${option.functionId}-${option.actionText}`} className="rounded-xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1180:<div className="text-sm font-semibold text-white">{option.actionText}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1182:<div className="mt-1 text-xs leading-relaxed text-zinc-400">{getCompactOptionDetailText(option)}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1195:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1200:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1235:className="fixed inset-0 z-[79] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1243:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(88vh,40rem)] w-full max-w-xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1247:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1248:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1249:<div className="text-[10px] tracking-[0.22em] text-sky-300/80">{'\u4f24\u5bb3\u4fee\u6b63\u8d21\u732e\u89e3\u6790'}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1250:<div className="mt-1 truncate text-sm font-semibold text-white">{selectedContributionRow.label}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1251:<div className="mt-1 text-[10px] tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1258:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1260:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1264:<div className="space-y-4 overflow-y-auto p-4 sm:p-5">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1266:className="rounded-xl border px-4 py-4"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1273:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1274:<div className="text-sm font-semibold">{selectedContributionRow.label}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1275:<div className="text-sm font-semibold">{'\u4f24\u5bb3\u4fee\u6b63\u8d21\u732e'} {selectedContributionRow.product.toFixed(2)}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1277:<div className="mt-3 h-2 overflow-hidden rounded-full bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1279:className="h-full rounded-full"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1289:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-6 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1290:<div className="font-medium text-white">{'\u4f24\u5bb3\u4fee\u6b63\u8d21\u732e = 1 \u00d7 \u6bcf\u4e2a\u5173\u8054\u6807\u7b7e\u6362\u7b97\u540e\u7684\u8d21\u732e\u767e\u5206\u6bd4'}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1291:<div className="mt-1 text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1294:<div className="mt-2 font-medium text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1300:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1305:<div key={`${selectedContributionRow.label}-${factor.otherTag}`} className="rounded-xl border border-white/8 bg-black/20 px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1306:<div className="flex items-center justify-between gap-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1310:<div className="mt-1 text-[11px] leading-5 text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1313:<div className="mt-2 h-1.5 overflow-hidden rounded-full bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1314:<div className="h-full rounded-full" style={getContributionTrackStyle(factor.percent)} />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1320:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-6 text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1334:className="fixed inset-0 z-[80] flex items-center justify-center bg-black/78 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1342:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,60rem)] w-full max-w-5xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.6)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1346:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1347:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1348:<div className="text-[10px] tracking-[0.22em] text-sky-300/80">技能详情</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1349:<div className="mt-1 truncate text-sm font-semibold text-white">{selectedSkill.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1350:<div className="mt-1 flex items-center gap-2 text-[10px] tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1352:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1355:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1363:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1365:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1369:<div className="grid min-h-0 flex-1 gap-4 overflow-y-auto p-4 sm:p-5 xl:grid-cols-[minmax(0,1.08fr)_minmax(0,0.92fr)] xl:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1370:<div className="space-y-4 xl:max-h-full xl:overflow-y-auto xl:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1381:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1382:<div className="text-sm font-semibold text-white">技能效果预览</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1383:<div className="mt-2 rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1391:<div className="space-y-4 xl:min-h-0 xl:overflow-y-auto xl:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1392:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1393:<div className="mb-3 text-xs font-bold text-white">基础信息</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1394:<div className="grid grid-cols-2 gap-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1395:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">伤害:{selectedSkill.damage}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1396:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">法力:{selectedSkill.manaCost}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1397:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">冷却:{selectedSkill.cooldownTurns} 回合</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1398:<div className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">距离:{selectedSkill.range}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1412:className="fixed inset-0 z-[82] flex items-center justify-center bg-black/78 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1420:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,42rem)] w-full max-w-lg flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1424:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1425:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1426:<div className="text-[10px] tracking-[0.22em] text-amber-200/80">物品详情</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1427:<div className="mt-1 truncate text-sm font-semibold text-white">{selectedNpcItem.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1428:<div className="mt-1 text-[11px] text-zinc-500">{npcContext?.encounter.npcName ?? 'NPC 背包'}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1433:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1435:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1439:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-5">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1440:<div className="flex items-start gap-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1444:className="h-14 w-14 drop-shadow-[0_6px_10px_rgba(0,0,0,0.35)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1447:<div className="min-w-0 flex-1 space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1448:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1449:<span className="rounded-full border border-white/10 bg-white/6 px-2 py-1 text-[10px] uppercase tracking-[0.16em] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1452:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] uppercase tracking-[0.16em] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1456:<div className="text-sm text-zinc-300">数量: {selectedNpcItem.quantity}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1457:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1460:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1463:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1469:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1473:<div className="grid grid-cols-2 gap-2 text-xs text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1474:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1477:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1480:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1483:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1486:<div className="col-span-2 rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1492:<div className="rounded-lg border border-sky-400/15 bg-sky-500/10 px-3 py-2 text-xs text-sky-50">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1498:<div className="rounded-lg border border-emerald-400/15 bg-emerald-500/10 px-3 py-2 text-xs text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1503:<div className="flex justify-end">
E:\Repos\ai-native-visual-rpg\src\components\AdventureEntityModal.tsx:1507:className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:83:<div className="fixed inset-0 z-[74] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:85:className="pixel-nine-slice pixel-modal-shell flex min-h-32 w-full max-w-sm items-center justify-center px-5 py-6 text-center text-[11px] uppercase tracking-[0.24em] text-zinc-400 shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:235:<div className="mt-3 rounded-xl border border-dashed border-white/10 bg-black/20 px-3 py-4 text-center text-xs text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:242:<div className="mt-3 flex flex-wrap gap-2.5">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:256:<div className="absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.12),transparent_55%)] opacity-0 transition group-hover:opacity-100" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:260:className="relative z-[1] h-8 w-8 drop-shadow-[0_6px_10px_rgba(0,0,0,0.35)] sm:h-9 sm:w-9"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:262:<span className="absolute bottom-1 right-1 rounded-full border border-black/35 bg-black/70 px-1.5 py-0.5 text-[10px] font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:295:secondaryLabel: 'Inspect the hidden reward site',
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:327:className="grid gap-1.5"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:356:<div className="rounded-2xl border border-amber-300/15 bg-[radial-gradient(circle_at_top,rgba(251,191,36,0.14),transparent_65%),rgba(0,0,0,0.24)] p-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:357:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:359:<div className="text-[10px] tracking-[0.24em] text-amber-200/80">奖励物品</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:360:<div className="mt-1 text-[11px] leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:364:<ScrollText className="h-4 w-4 text-amber-200/70" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:367:<div className="mt-3 grid grid-cols-2 gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:368:<div className="rounded-xl border border-rose-300/18 bg-rose-500/10 px-3 py-2.5 text-rose-50">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:369:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:370:<Heart className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:371:<span className="text-sm font-semibold">+{quest.reward.affinityBonus}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:373:<div className="mt-1 text-[10px] uppercase tracking-[0.2em] text-rose-100/70">好感度</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:375:<div className="rounded-xl border border-amber-300/18 bg-amber-500/10 px-3 py-2.5 text-amber-50">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:376:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:377:<Coins className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:378:<span className="text-sm font-semibold">{formatCurrency(quest.reward.currency, worldType)}</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:380:<div className="mt-1 text-[10px] uppercase tracking-[0.2em] text-amber-100/70">货币</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:410:<div className="flex items-center justify-between gap-3 border-b border-white/10 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:412:<div className="text-[10px] tracking-[0.24em] text-white/70">{presentation.eyebrow}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:413:<div className="mt-1 text-sm font-semibold text-white">{presentation.primaryLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:420:<div className="grid gap-3 p-3 sm:grid-cols-[minmax(0,0.95fr)_minmax(0,1.05fr)]">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:421:<div className="relative overflow-hidden rounded-2xl border border-white/10 bg-black/30 p-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:422:<div className="absolute inset-x-0 bottom-0 h-12 bg-gradient-to-t from-black/40 to-transparent" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:423:<div className="flex h-36 items-end justify-center">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:425:<div className="rounded-full bg-[radial-gradient(circle,rgba(248,113,113,0.18),transparent_70%)] p-4">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:429:className="origin-bottom scale-150 sm:scale-[1.85]"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:436:className="flex h-24 w-24 items-center justify-center rounded-3xl border border-white/10 bg-black/35"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:439:<PixelIcon src={presentation.iconSrc} alt={presentation.primaryLabel} className="h-14 w-14" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:441:<AccentIcon className="h-11 w-11 text-white/85" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:448:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:449:<div className="grid gap-2 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:450:<div className="rounded-xl border border-white/10 bg-black/25 px-3 py-2.5 text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:451:<div className="flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:452:<AccentIcon className="h-3.5 w-3.5" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:455:<div className="mt-2 text-sm font-medium text-white">{presentation.primaryLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:457:<div className="rounded-xl border border-white/10 bg-black/25 px-3 py-2.5 text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:458:<div className="flex items-center gap-2 text-[10px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:459:<MapPinned className="h-3.5 w-3.5" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:462:<div className="mt-2 text-sm font-medium text-white">{presentation.secondaryLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:466:<div className="rounded-xl border border-white/10 bg-black/25 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:467:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:469:<span className="text-white/70">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:473:<div className="mt-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:477:activeClassName="border-emerald-300/30 bg-emerald-400/85"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:720:<div className="relative flex min-h-0 flex-1 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:726:className="fixed z-[26] flex min-h-[2.75rem] min-w-[2.75rem] items-center justify-center border-0 bg-transparent p-0 shadow-none transition duration-150 hover:-translate-y-px hover:brightness-110 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-200/60"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:732:<PixelIcon src={CHROME_ICONS.settings} className="h-[1.8rem] w-[1.8rem] drop-shadow-[0_4px_10px_rgba(0,0,0,0.45)]" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:737:className="fixed right-0 z-[26] flex min-w-[3.1rem] flex-col items-center gap-1 rounded-l-xl border border-r-0 border-white/10 bg-black/78 pl-2 pr-1.5 py-2 text-[10px] text-zinc-200 shadow-[0_8px_18px_rgba(0,0,0,0.35)] backdrop-blur-md transition hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:743:className="absolute -left-1 top-1 h-3.5 w-3.5 rounded-full border border-red-200/45 bg-red-500 shadow-[0_0_14px_rgba(239,68,68,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:746:<PixelIcon src={CHROME_ICONS.map} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:747:<span className="leading-none">任务</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:748:<span className="rounded-full border border-white/10 bg-white/10 px-1.5 py-0.5 text-[9px] text-white">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:754:<div className="pixel-nine-slice pixel-panel mb-3 text-xs text-amber-100" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:761:className="pixel-nine-slice pixel-panel mb-3 min-h-0 flex-1 overflow-y-auto pr-1 scrollbar-hide"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:765:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:770:<div className="sr-only">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:773:<div className="mb-1 text-[10px] tracking-[0.18em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:781:<div className="flex justify-start">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:782:<div className="rounded-2xl border border-white/10 bg-black/20 px-3 py-2 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:789:<p className="font-serif text-sm italic leading-relaxed text-zinc-300">{currentStory.text}</p>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:793:<div className="mt-auto shrink-0 pb-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:794:<div className="mb-2 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:795:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:800:className="inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 bg-black/20 px-2 text-zinc-300 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:802:<PixelIcon src={TAB_ICONS.character.active} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:803:<span className="text-xs leading-none">刷新</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:809:className="inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 bg-black/20 px-2 text-zinc-300 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:811:<PixelIcon src={TAB_ICONS.inventory.active} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:812:<span className="text-xs leading-none">背包</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:821:className="inline-flex h-8 items-center gap-1.5 rounded-md border border-white/10 bg-black/20 px-2 text-zinc-300 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:823:<PixelIcon src={CHROME_ICONS.refreshOptions} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:824:<span className="text-xs leading-none">刷新</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:829:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:831:<div className="flex items-center justify-center space-x-2 p-4 text-zinc-600">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:832:<Loader2 className="h-4 w-4 animate-spin" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:833:<span className="text-xs uppercase tracking-widest">剧情推演中...</span>
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:836:<div className="flex items-center justify-center p-4 text-[11px] tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:862:className="pixel-nine-slice pixel-pressable pixel-choice-button group w-full text-left"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:865:<div className="flex items-center justify-between">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:867:<PixelIcon src={CHROME_ICONS.optionArrow} className="h-3 w-3 opacity-70 transition-opacity group-hover:opacity-100" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:869:<div className="mt-1 text-[10px] leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:881:className="pixel-nine-slice pixel-pressable pixel-choice-button group w-full text-left"
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:884:<div className="flex items-center justify-between">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:886:<PixelIcon src={CHROME_ICONS.optionArrow} className="h-3 w-3 opacity-70 transition-opacity group-hover:opacity-100" />
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:889:<div className="mt-1 text-[10px] leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\AdventurePanel.tsx:894:<div className="mt-1 text-[10px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterAnimator.tsx:76:const resolvedImageClassName = `h-full w-full object-contain pixelated ${imageClassName ?? ''}`.trim();
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:39:className="fixed inset-0 z-[85] flex items-center justify-center bg-black/76 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:47:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,56rem)] w-full max-w-3xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.6)]"
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:51:<div className="flex items-center justify-between border-b border-white/10 px-4 py-4 sm:px-5">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:52:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:53:<div className="text-[10px] tracking-[0.22em] text-sky-300/80">角色聊天</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:54:<div className="mt-1 truncate text-sm font-semibold text-white">{modal.target.character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:55:<div className="mt-1 text-[11px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:62:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:64:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:68:<div className="grid min-h-0 flex-1 gap-4 overflow-y-auto p-4 sm:grid-cols-[minmax(0,0.88fr)_minmax(0,1.12fr)] sm:overflow-hidden sm:p-5">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:69:<div className="space-y-4 sm:max-h-full sm:overflow-y-auto sm:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:70:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:71:<div className="mb-2 text-xs font-bold text-white">角色状态</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:72:<div className="space-y-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:73:<div className="rounded-xl border border-white/8 bg-black/18 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:76:<div className="rounded-xl border border-white/8 bg-black/18 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:79:<div className="rounded-xl border border-white/8 bg-black/18 px-3 py-2 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:85:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:86:<div className="mb-2 text-xs font-bold text-white">聊天总结</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:87:<div className="rounded-xl border border-white/8 bg-black/18 px-3 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:93:<div className="flex min-h-0 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:96:className="pixel-nine-slice pixel-panel min-h-[20rem] flex-1 space-y-3 overflow-y-auto pr-1 scrollbar-hide"
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:112:<div className="mb-1 text-[10px] tracking-[0.18em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:120:<div className="rounded-2xl border border-dashed border-white/10 bg-black/18 px-4 py-6 text-sm leading-relaxed text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:126:<div className="mt-4 space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:127:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:128:<div className="text-xs font-bold text-white">帮你回复</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:143:<div className="grid gap-2 sm:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:162:<div className="rounded-xl border border-amber-400/20 bg-amber-500/10 px-3 py-2 text-xs leading-relaxed text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:168:className="space-y-3"
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:180:className="w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-sm leading-relaxed text-zinc-100 outline-none transition focus:border-sky-300/35"
E:\Repos\ai-native-visual-rpg\src\components\CharacterChatModal.tsx:182:<div className="flex justify-end">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:60:<section className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(chrome, { paddingX: 14, paddingY: 14 })}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:61:<div className="mb-3 text-xs font-bold tracking-[0.16em] text-zinc-200">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:85:<div className="text-[10px] tracking-[0.18em] text-white/60">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:86:<div className="mt-1 text-sm font-semibold">{value}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:93:<div className="grid gap-2 sm:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:95:<div key={`${item.slot}-${item.item}`} className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:96:<div className="text-[10px] tracking-[0.16em] text-zinc-500">{item.slot}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:97:<div className="mt-1 text-sm font-semibold text-white">{item.item}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:98:<div className="mt-1 text-xs text-zinc-400">{item.rarity}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:107:<div className="grid gap-2 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:109:<div key={`${item.category}-${item.name}-${item.quantity}`} className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:110:<div className="text-[10px] tracking-[0.16em] text-zinc-500">{item.category}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:111:<div className="mt-1 text-sm font-semibold text-white">{item.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:112:<div className="mt-1 text-xs text-zinc-400">数量 x{item.quantity}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:127:<div className="space-y-2.5">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:129:<div key={skill.id} className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:130:<div className="flex flex-wrap items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:131:<div className="text-sm font-semibold text-white">{skill.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:132:<span className="rounded-full border border-amber-400/20 bg-amber-500/10 px-2 py-0.5 text-[10px] text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:136:<div className="mt-2 grid gap-1 text-xs text-zinc-400 sm:grid-cols-4">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:169:className="fixed inset-0 z-[72] flex items-center justify-center bg-black/78 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:177:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,60rem)] w-full max-w-5xl flex-col overflow-hidden shadow-[0_28px_90px_rgba(0,0,0,0.58)]"
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:181:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:182:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:183:<div className="text-sm font-semibold text-white">{character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:184:<div className="mt-1 text-[11px] tracking-[0.18em] text-zinc-500">{subtitle}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:189:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:192:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:196:<div className="grid min-h-0 flex-1 gap-4 overflow-y-auto p-5 lg:grid-cols-[minmax(0,0.82fr)_minmax(0,1.18fr)] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:197:<div className="space-y-4 lg:max-h-full lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:199:<div className="flex flex-col items-center text-center">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:200:<div className="flex h-44 w-full max-w-[16rem] items-center justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/20">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:204:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:205:imageClassName="object-bottom"
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:209:<div className="mt-3 rounded-full border border-sky-400/25 bg-sky-500/10 px-3 py-1 text-[10px] tracking-[0.18em] text-sky-100">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:212:<div className="mt-3 text-base font-bold text-white">{character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:213:<div className="mt-1 flex flex-wrap items-center justify-center gap-2 text-[10px] tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:215:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:219:<p className="mt-3 text-sm leading-relaxed text-zinc-300">{character.description}</p>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:224:<div className="grid gap-2 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:228:<div className="mt-3 grid grid-cols-2 gap-2 text-sm sm:grid-cols-4">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:230:<div key={key} className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3 text-center">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:231:<div className="text-[10px] tracking-[0.16em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:234:<div className="mt-1 font-semibold text-white">{value}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:242:<div className="space-y-2 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:243:<div className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:244:<div className="text-[10px] tracking-[0.16em] text-zinc-500">原因</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:245:<div className="mt-1">{opening.reason}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:247:<div className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:248:<div className="text-[10px] tracking-[0.16em] text-zinc-500">目标</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:249:<div className="mt-1">{opening.goal}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:256:<div className="space-y-4 lg:min-h-0 lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:257:<Section title="Skills">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:270:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterDetailModal.tsx:276:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:93:<div className="space-y-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:94:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.16em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:96:<span className="text-zinc-200">{current} / {max}</span>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:98:<div className="h-2 overflow-hidden rounded-full border border-white/10 bg-black/45">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:109:const formulaText = '\u603b\u4fee\u6b63\u500d\u6570 = \u6240\u6709\u6807\u7b7e\u589e\u76ca\u4e4b\u548c';
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:115:<div className="space-y-2 rounded-xl border border-sky-400/12 bg-sky-500/6 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:116:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.16em] text-sky-100/80">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:121:<div className="grid grid-cols-[auto_1fr_auto_1fr_auto] items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:122:<span className="rounded-full border border-white/10 bg-black/25 px-2 py-1 text-[10px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:125:<div className="h-px bg-white/12" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:126:<span className="rounded-full border border-sky-400/20 bg-sky-500/10 px-2 py-1 text-[10px] text-sky-100">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:129:<div className="h-px bg-white/12" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:130:<span className="rounded-full border border-emerald-400/20 bg-emerald-500/10 px-2 py-1 text-[10px] text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:134:<div className="h-2 overflow-hidden rounded-full border border-white/10 bg-black/40">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:136:className="h-full bg-gradient-to-r from-sky-500 via-cyan-300 to-emerald-200"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:140:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2 text-[11px] leading-5 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:141:<div className="font-medium text-white">{formulaText}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:142:<div className="mt-1 text-zinc-400">{currentFormulaText}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:143:<div className="mt-1 text-zinc-500">{'\u5355\u6807\u7b7e\u589e\u76ca = 1 \u00d7 \u5176\u4ed6\u5173\u8054\u6807\u7b7e\u6362\u7b97\u540e\u7684\u8d21\u732e\u767e\u5206\u6bd4\u8fde\u4e58\u3002'}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:145:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:149:className="rounded-full border border-sky-400/20 bg-sky-500/10 px-2 py-1 text-[10px] text-sky-100"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:154:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:217:<div className="space-y-3 rounded-xl border border-sky-400/12 bg-sky-500/6 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:218:<div className="flex items-center justify-between gap-3 text-[10px] uppercase tracking-[0.16em] text-sky-100/80">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:220:<span className="text-zinc-400">{'\u70b9\u51fb\u6807\u7b7e\u67e5\u770b\u8d21\u732e\u8ba1\u7b97'}</span>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:222:<div className="flex justify-center">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:223:<div className="w-full max-w-[12rem] rounded-xl border border-white/8 bg-black/20 px-3 py-2 text-center">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:224:<div className="text-[10px] uppercase tracking-[0.16em] text-zinc-500">{'\u603b\u4fee\u6b63\u500d\u6570'}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:225:<div className="mt-1 text-sm font-semibold tabular-nums text-emerald-100">x{breakdown.totalContributionMultiplier.toFixed(2)}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:229:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:235:className="min-w-[6.25rem] rounded-xl border px-3 py-2 text-left text-[10px] text-white transition-transform hover:-translate-y-0.5"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:239:<div className="flex items-center justify-between gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:240:<span className="font-medium">{row.label}</span>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:241:<span className="text-[11px] font-semibold tabular-nums text-current/80">{row.product.toFixed(2)}</span>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:243:<div className="mt-2 h-1.5 overflow-hidden rounded-full bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:244:<div className="h-full rounded-full" style={getContributionTrackStyle(row.product, weakestProduct, strongestProduct)} />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:250:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:405:<div className="flex min-h-0 flex-1 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:406:<div className="pixel-nine-slice pixel-panel min-h-0 flex-1" style={getNineSliceStyle(UI_CHROME.panel, { paddingX: 14, paddingY: 12 })}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:408:<div className="mb-3 rounded-xl border border-sky-400/15 bg-sky-500/8 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:409:<div className="mb-2 text-xs font-bold text-sky-100">当前委托</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:410:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:412:<div key={quest.id} className="rounded-lg border border-white/6 bg-black/18 px-3 py-2 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:413:<div className="font-semibold text-white">{quest.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:414:<div className="mt-1 text-xs text-zinc-400">{quest.summary}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:421:<div className="mb-3 text-xs font-bold text-white">队伍成员</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:422:<div className="grid max-h-[calc(100vh-14rem)] grid-cols-1 gap-3 overflow-y-auto pr-1 scrollbar-hide sm:max-h-[calc(100vh-18rem)] md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:428:className="w-full px-0 py-1 text-left transition-opacity hover:opacity-90"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:430:<div className="flex items-start gap-3 rounded-xl border border-white/6 bg-black/18 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:431:<div className="flex h-14 w-14 shrink-0 items-center justify-center overflow-hidden rounded-xl bg-transparent sm:h-16 sm:w-16">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:435:className="h-full w-full scale-125 object-contain object-bottom"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:440:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:441:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:442:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:443:<div className="truncate text-sm font-semibold text-white">{member.character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:444:<div className="truncate text-[10px] tracking-[0.16em] text-zinc-500">{member.character.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:450:<div className="mt-2.5 space-y-2.5">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:454:<div className="mt-2 flex items-center justify-end gap-2 text-[11px] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:455:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:458:<span className="rounded-full border border-emerald-400/20 bg-emerald-500/10 px-2 py-0.5 text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:476:className="fixed inset-0 z-[75] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:484:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(88vh,40rem)] w-full max-w-xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:488:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:489:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:490:<div className="text-[10px] tracking-[0.22em] text-sky-300/80">伤害修正贡献解析</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:491:<div className="mt-1 truncate text-sm font-semibold text-white">{selectedContributionRow.label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:492:<div className="mt-1 text-[10px] tracking-[0.18em] text-zinc-500">{selectedMember.character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:497:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:499:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:503:<div className="space-y-4 overflow-y-auto p-4 sm:p-5">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:504:<div className="rounded-xl border px-4 py-4" style={getContributionVisualStyle(selectedContributionRow.product, selectedContributionMinProduct, selectedContributionMaxProduct)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:505:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:506:<div className="text-sm font-semibold">{selectedContributionRow.label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:507:<div className="text-sm font-semibold">伤害修正贡献 {selectedContributionRow.product.toFixed(2)}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:509:<div className="mt-3 h-2 overflow-hidden rounded-full bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:510:<div className="h-full rounded-full" style={getContributionTrackStyle(selectedContributionRow.product, selectedContributionMinProduct, selectedContributionMaxProduct)} />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:514:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-6 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:515:<div className="font-medium text-white">伤害修正贡献 = 1 × 每个关联标签换算后的贡献百分比</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:516:<div className="mt-1 text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:519:<div className="mt-2 font-medium text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:525:<div className="space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:530:<div key={`${selectedContributionRow.label}-${factor.otherTag}`} className="rounded-xl border border-white/8 bg-black/20 px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:531:<div className="flex items-center justify-between gap-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:535:<div className="mt-1 text-[11px] leading-5 text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:538:<div className="mt-2 h-1.5 overflow-hidden rounded-full bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:539:<div className="h-full rounded-full" style={getContributionTrackStyle(factor.percent)} />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:545:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-6 text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:561:className="fixed inset-0 z-[70] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:569:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,56rem)] w-full max-w-3xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:573:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:574:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:575:<div className="text-[10px] tracking-[0.22em] text-sky-300/80">角色详情</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:576:<div className="mt-1 truncate text-sm font-semibold text-white">{selectedMember.character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:577:<div className="mt-1 flex items-center gap-2 text-[10px] tracking-[0.2em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:579:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-0.5 text-[9px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:587:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:589:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:593:<div className="grid min-h-0 flex-1 gap-4 overflow-y-auto p-4 sm:p-5 lg:grid-cols-[minmax(0,0.82fr)_minmax(0,1.18fr)] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:594:<div className="space-y-4 lg:max-h-full lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:595:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:596:<div className="flex flex-col items-center text-center">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:597:<div className="flex h-36 w-full max-w-[15rem] items-end justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/20 sm:h-40">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:601:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:602:imageClassName="object-bottom"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:606:<div className="mt-3 text-base font-bold text-white">{selectedMember.character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:607:<div className="mt-1 text-[10px] tracking-[0.2em] text-zinc-500">{selectedMember.character.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:608:<p className="mt-3 text-sm leading-relaxed text-zinc-300">{selectedMember.character.description}</p>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:612:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.statsPanel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:613:<div className="mb-3 text-xs font-bold text-white">状态</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:614:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:624:<div className="mt-4 grid grid-cols-2 gap-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:626:<div key={key} className="rounded-lg border border-white/5 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:634:<div className="space-y-4 lg:min-h-0 lg:overflow-y-auto lg:pr-1">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:635:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:636:<div className="mb-3 text-xs font-bold text-white">背景故事</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:637:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:642:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:643:<div className="mb-3 text-xs font-bold text-white">性格</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:644:<div className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:649:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel)}>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:650:<div className="mb-3 text-xs font-bold text-white">装备</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:651:<div className="space-y-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:655:className="flex items-center justify-between rounded-lg border border-white/5 bg-black/20 px-3 py-2"
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:657:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:658:<PixelIcon src={getEquipmentSlotIcon(item.slotLabel)} className="h-8 w-8" />
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:660:<div className="text-[10px] tracking-[0.2em] text-zinc-500">{item.slotLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\CharacterPanel.tsx:664:<span className="rounded-full border border-amber-500/20 bg-amber-500/10 px-2 py-0.5 text-[10px] text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:28:<div className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:118:className="fixed inset-0 z-[72] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:126:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,58rem)] w-full max-w-5xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:130:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:131:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:132:<div className="text-sm font-semibold text-white">营地编成</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:133:<div className="mt-1 text-[11px] tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:140:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:142:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:146:<div className="grid min-h-0 flex-1 gap-4 overflow-y-auto p-5 lg:grid-cols-[1.05fr_0.95fr] lg:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:147:<section className="rounded-2xl border border-white/10 bg-black/18 p-4 lg:min-h-0 lg:overflow-y-auto">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:148:<div className="mb-3 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:150:<div className="text-xs font-bold text-white">当前上阵</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:151:<div className="mt-1 text-xs text-zinc-400">可直接切换为待命;队伍已满时,先选择一个替换位再让后备同行上阵。</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:156:<div className="mb-3 rounded-xl border border-amber-400/20 bg-amber-500/10 px-3 py-2 text-xs text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:161:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:169:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:170:<div className="flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-white/10 bg-black/25">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:171:<img src={character.portrait} alt={character.name} className="h-full w-full scale-125 object-contain" style={{ imageRendering: 'pixelated' }} />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:173:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:174:<div className="text-sm font-semibold text-white">{character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:175:<div className="text-[10px] tracking-[0.18em] text-zinc-500">{character.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:176:<div className="mt-2 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:177:<StatusPill label="HP" value={`${companion.hp}/${companion.maxHp}`} />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:178:<StatusPill label="MP" value={`${companion.mana}/${companion.maxMana}`} />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:183:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:204:<div className="rounded-xl border border-dashed border-white/10 bg-black/20 px-4 py-6 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:211:<section className="rounded-2xl border border-white/10 bg-black/18 p-4 lg:min-h-0 lg:overflow-y-auto">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:212:<div className="mb-3 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:214:<div className="text-xs font-bold text-white">待命列表</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:215:<div className="mt-1 text-xs text-zinc-400">这里保存已经招募、但暂不上阵的同行。</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:220:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:224:<div key={companion.npcId} className="rounded-xl border border-white/8 bg-black/20 px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:225:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:226:<div className="flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-xl border border-white/10 bg-black/25">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:227:<img src={character.portrait} alt={character.name} className="h-full w-full scale-125 object-contain" style={{ imageRendering: 'pixelated' }} />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:229:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:230:<div className="text-sm font-semibold text-white">{character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:231:<div className="text-[10px] tracking-[0.18em] text-zinc-500">{character.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:232:<div className="mt-2 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:233:<StatusPill label="HP" value={`${companion.hp}/${companion.maxHp}`} />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:234:<StatusPill label="MP" value={`${companion.mana}/${companion.maxMana}`} />
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:254:<div className="rounded-xl border border-dashed border-white/10 bg-black/20 px-4 py-6 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:262:<div className="border-t border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:263:<div className="mb-3 text-xs font-bold text-white">营地动静</div>
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:264:<div className="grid gap-3 md:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\CompanionCampModal.tsx:266:<div key={moment} className="rounded-xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:25:{ id: 'story', label: 'NPC' },
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:41:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.panel, { paddingX: 14, paddingY: 12 })}>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:42:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:43:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:44:<div className="text-xs font-bold tracking-[0.16em] text-white">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:45:{subtitle ? <div className="mt-1 text-xs leading-6 text-zinc-500">{subtitle}</div> : null}
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:49:<div className="mt-3">{children}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:90:<div className="rounded-2xl border border-white/10 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:95:className="w-full bg-transparent text-sm text-zinc-100 outline-none placeholder:text-zinc-500"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:115:<img src={src} alt={alt} className="h-full w-full object-cover" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:117:<div className="flex h-full w-full items-center justify-center px-4 text-center text-sm font-semibold tracking-[0.18em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:127:<div className="rounded-2xl border border-dashed border-white/12 bg-black/20 px-5 py-6 text-center">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:128:<div className="text-sm text-zinc-300">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:222:<div className="h-full min-h-0 space-y-3 overflow-y-auto overscroll-contain pr-1 scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:223:<div className="px-1 pb-1 text-center">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:224:<div className="text-[11px] font-bold tracking-[0.28em] text-zinc-500">WORLD DOSSIER</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:225:<div className="mt-2 text-3xl font-black text-white sm:text-[2.2rem]">{profile.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:226:<div className="mt-2 text-sm tracking-[0.18em] text-zinc-400">{profile.subtitle}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:229:<div className="sticky top-0 z-10 -mx-1 space-y-3 bg-[linear-gradient(180deg,rgba(8,10,17,0.98)_0%,rgba(8,10,17,0.95)_75%,rgba(8,10,17,0)_100%)] px-1 pb-3 pt-1">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:230:<div className="flex gap-2 overflow-x-auto pb-1 scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:238:<div className="font-semibold">{tab.label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:239:<div className="mt-1 text-[10px] tracking-[0.16em] text-white/55">{counts[tab.id]}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:246:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:247:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:260:<div className="space-y-3 text-sm leading-7 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:262:<div className="rounded-2xl border border-amber-300/12 bg-amber-500/8 px-3 py-3 text-amber-100">主线目标:{profile.playerGoal}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:263:<div className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3">世界基调:{profile.tone}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:264:<div className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3 text-zinc-400">原始设定:{profile.settingText}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:268:<Section title="档案规模" subtitle="结果页只保留角色、NPC 与场景档案,预设物品已从自定义世界中移除。">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:269:<div className="grid grid-cols-1 gap-2 text-center text-[11px] text-zinc-300 sm:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:270:<div className="rounded-xl border border-white/8 bg-black/20 px-2 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:271:<div className="text-xl font-black text-white">{profile.playableNpcs.length}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:274:<div className="rounded-xl border border-white/8 bg-black/20 px-2 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:275:<div className="text-xl font-black text-white">{profile.storyNpcs.length}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:278:<div className="rounded-xl border border-white/8 bg-black/20 px-2 py-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:279:<div className="text-xl font-black text-white">{profile.landmarks.length}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:283:<div className="mt-3 rounded-2xl border border-sky-300/14 bg-sky-500/8 px-4 py-3 text-sm leading-6 text-sky-50/90">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:291:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:292:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:307:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:313:<div className="flex flex-col gap-3 sm:flex-row">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:314:<div className="flex h-28 w-28 shrink-0 items-end justify-center overflow-hidden rounded-2xl border border-white/10 bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:316:<CharacterAnimator state={AnimationState.RUN} character={previewCharacter} className="h-full w-full" imageClassName="object-bottom" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:319:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:320:<div className="text-sm leading-6 text-zinc-300">{role.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:321:<div className="mt-2 text-xs leading-6 text-zinc-400">{role.backstory}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:322:<div className="mt-3 grid gap-2 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:323:<div className="rounded-xl border border-white/8 bg-black/20 px-3 py-2 text-xs leading-6 text-zinc-300">性格:{role.personality}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:324:<div className="rounded-xl border border-white/8 bg-black/20 px-3 py-2 text-xs leading-6 text-zinc-300">战斗:{role.combatStyle}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:326:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:328:<span key={`${role.id}-${tag}`} className="rounded-full border border-white/10 bg-black/20 px-2.5 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:344:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:345:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:349:<EmptyState title="当前没有符合搜索条件的 NPC。" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:357:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:363:<div className="grid gap-4 sm:grid-cols-[7rem_minmax(0,1fr)]">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:372:className="aspect-square"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:375:<div className="min-w-0 space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:376:<div className="text-sm leading-6 text-zinc-300">{npc.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:377:<div className="rounded-2xl border border-white/8 bg-black/20 px-3 py-3 text-sm leading-6 text-zinc-300">动机:{npc.motivation}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:378:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:380:<span key={`${npc.id}-${hook}`} className="rounded-full border border-white/10 bg-black/20 px-2.5 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:395:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:396:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:407:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:413:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityCatalog.tsx:415:<div className="text-sm leading-7 text-zinc-300">{landmark.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:70:panelClassName = 'sm:max-w-2xl',
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:71:overlayClassName = 'z-[98]',
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:89:<div className="flex items-center justify-between gap-3 border-b border-white/10 px-4 py-4 sm:px-5">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:90:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:91:<div className="truncate text-sm font-semibold text-white">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:92:{subtitle ? <div className="mt-1 text-xs leading-6 text-zinc-400">{subtitle}</div> : null}
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:94:<button type="button" onClick={onClose} className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:95:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:111:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:112:<div className="mb-2 text-[11px] font-bold tracking-[0.14em] text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:135:className="w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-sm text-zinc-100 outline-none transition-colors placeholder:text-zinc-500 focus:border-sky-300/35"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:157:className="w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-sm leading-7 text-zinc-100 outline-none transition-colors placeholder:text-zinc-500 focus:border-sky-300/35"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:175:className="w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-sm text-zinc-100 outline-none transition-colors focus:border-sky-300/35"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:202:<img src={src} alt={alt} loading="lazy" className="h-full w-full object-cover" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:204:<div className="flex h-full w-full items-center justify-center px-4 text-center text-sm font-semibold tracking-[0.18em] text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:208:{children ? <div className="pointer-events-none absolute inset-0">{children}</div> : null}
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:233:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:234:<div className="text-[11px] font-bold tracking-[0.14em] text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:242:placeholder="支持填写项目内图片路径或外链 URL"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:298:<div className="absolute inset-0 bg-[linear-gradient(180deg,rgba(8,10,17,0.02)_0%,rgba(8,10,17,0.08)_42%,rgba(8,10,17,0.68)_100%)]" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:299:<div className="absolute left-3 top-3 rounded-full border border-white/12 bg-black/46 px-3 py-1 text-[10px] font-bold tracking-[0.18em] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:302:<div className="absolute left-1/2 top-[58%] h-16 w-16 -translate-x-1/2 -translate-y-1/2 rounded-full bg-amber-300/30 blur-2xl animate-pulse" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:303:<div className="absolute inset-x-0 bottom-0 h-20 bg-[linear-gradient(180deg,rgba(8,10,17,0)_0%,rgba(8,10,17,0.72)_100%)]" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:304:<div className="absolute inset-x-0 bottom-0 flex items-end justify-between px-2 pb-1 sm:px-4 sm:pb-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:305:<div className="flex flex-col items-center gap-1">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:306:<div className="rounded-full border border-sky-300/20 bg-black/48 px-2.5 py-0.5 text-[10px] text-sky-50">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:309:<div className="h-24 w-24 sm:h-28 sm:w-28">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:313:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:314:imageClassName="object-bottom drop-shadow-[0_10px_18px_rgba(0,0,0,0.45)]"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:319:<div className="mb-10 rounded-full border border-amber-300/24 bg-amber-400/12 px-3 py-1 text-[10px] font-semibold tracking-[0.18em] text-amber-50">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:323:<div className="flex flex-col items-center gap-1">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:324:<div className="rounded-full border border-rose-300/20 bg-black/48 px-2.5 py-0.5 text-[10px] text-rose-50">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:327:<div className="h-24 w-24 scale-x-[-1] sm:h-28 sm:w-28">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:331:className="h-full w-full"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:332:imageClassName="object-bottom drop-shadow-[0_10px_18px_rgba(0,0,0,0.45)]"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:358:<div className="mb-4 rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-6 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:361:<div className="grid grid-cols-2 gap-3 sm:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:378:<div className="relative aspect-[16/9] overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:379:<img src={src} alt={`Scene preset ${index + 1}`} loading="lazy" className="h-full w-full object-cover" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:380:<div className="absolute inset-x-0 bottom-0 bg-[linear-gradient(180deg,rgba(8,10,17,0)_0%,rgba(8,10,17,0.82)_100%)] px-3 py-2 text-[11px] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:384:<div className="absolute right-2 top-2 rounded-full border border-sky-200/40 bg-black/55 px-2 py-0.5 text-[10px] font-semibold text-sky-50">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:408:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:409:<div className="rounded-3xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(56,189,248,0.18),transparent_55%),linear-gradient(180deg,rgba(19,24,39,0.96),rgba(8,10,17,0.92))] px-6 py-10 text-center">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:410:<div className="whitespace-pre-line text-2xl font-black tracking-[0.2em] text-white">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:414:<div className="flex justify-end">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:430:<div className="flex flex-col-reverse gap-3 pt-2 sm:flex-row sm:justify-end">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:431:<button type="button" onClick={onClose} className="rounded-full border border-white/10 bg-black/20 px-4 py-2 text-sm text-zinc-300 transition-colors hover:text-white">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:434:<button type="button" onClick={onSave} className="pixel-nine-slice pixel-pressable text-left" style={getNineSliceStyle(UI_CHROME.choiceButton, { paddingX: 16, paddingY: 10 })}>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:435:<div className="flex items-center justify-between gap-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:436:<span className="text-sm font-semibold text-white">保存修改</span>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:437:<span className="text-white/60">→</span>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:460:subtitle="在独立面板中组合 MedievalFantasyCharacters 角色形象,左侧预览会保持吸顶。"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:462:panelClassName="sm:max-w-6xl"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:463:overlayClassName="z-[99]"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:478:title="AI生成NPC形象"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:479:subtitle="NPC 形象 AI 生成功能仍在开发中。"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:500:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:545:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:547:<div className="grid gap-4 rounded-2xl border border-white/8 bg-black/20 p-4 sm:grid-cols-[7rem_minmax(0,1fr)]">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:548:<div className="overflow-hidden rounded-2xl border border-white/10 bg-black/30">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:549:<img src={selectedTemplate.portrait} alt={selectedTemplate.name} className="h-28 w-full object-cover object-top" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:551:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:552:<div className="text-[11px] tracking-[0.18em] text-zinc-500">当前外观模板</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:553:<div className="mt-2 text-base font-semibold text-white">{selectedTemplate.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:554:<div className="mt-1 text-sm text-zinc-400">{selectedTemplate.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:555:<div className="mt-3 text-sm leading-6 text-zinc-300">{selectedTemplate.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:566:label: `${character.name} / ${character.title}`,
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:632:subtitle="NPC 形象编辑已拆分到独立面板,当前页面只保留档案信息与预览。"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:635:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:636:<div className="rounded-3xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:637:<div className="grid gap-4 sm:grid-cols-[10rem_minmax(0,1fr)] sm:items-center">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:638:<div className="flex justify-center">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:647:className="aspect-square w-full max-w-[9.5rem]"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:651:<div className="min-w-0 space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:653:<div className="text-[11px] font-bold tracking-[0.18em] text-zinc-300">NPC 形象预览</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:654:<div className="mt-2 text-sm leading-6 text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:658:<div className="flex flex-wrap gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:717:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:727:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:728:<div className="flex flex-wrap gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:730:<ActionButton label="AI生成" onClick={() => setIsAiGenerateOpen(true)} />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:732:<div className="rounded-2xl border border-white/8 bg-black/20 px-4 py-3 text-sm leading-6 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:758:title="AI生成场景"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:759:subtitle="场景图片 AI 生成功能仍在开发中。"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:774:name: `自定义角色${profile.playableNpcs.length + 1}`,
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:789:name: `自定义NPC${profile.storyNpcs.length + 1}`,
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldEntityEditorModal.tsx:811:name: `自定义场景${profile.landmarks.length + 1}`,
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:103:<div className="absolute inset-0 opacity-10 [background-image:linear-gradient(rgba(255,255,255,0.18)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.18)_1px,transparent_1px)] [background-size:10px_10px]" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:104:<div className="relative z-[1] flex items-center justify-center">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:150:return <div className="text-[10px] font-semibold text-zinc-500">无</div>;
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:175:<div className="text-[10px] font-semibold tracking-[0.08em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:189:<PreviewFrame className="h-14 w-14">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:193:className="origin-center"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:221:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:223:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:224:<div className="text-sm font-semibold leading-5">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:241:<section className="space-y-3 rounded-3xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:243:<div className="text-[11px] font-bold tracking-[0.18em] text-zinc-200">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:244:{subtitle ? <div className="mt-1 text-xs leading-5 text-zinc-500">{subtitle}</div> : null}
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:246:<div className="grid gap-3 sm:grid-cols-2 xl:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:292:<div className="absolute inset-0 opacity-10 [background-image:linear-gradient(rgba(255,255,255,0.16)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.16)_1px,transparent_1px)] [background-size:16px_16px]" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:293:<div className="relative flex h-full min-h-[7rem] items-center justify-center p-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:297:className="origin-center drop-shadow-[0_12px_18px_rgba(0,0,0,0.38)]"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:379:<div className="grid gap-5 lg:grid-cols-[12rem_minmax(0,1fr)]">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:380:<div className="self-start lg:sticky lg:top-0">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:381:<div className="mx-auto w-full max-w-[9.5rem] space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:385:className="aspect-square"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:388:<div className="rounded-2xl border border-white/10 bg-black/25 px-3 py-3 text-center text-xs leading-5 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:391:<div className="flex flex-col gap-2">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:393:<ActionButton label="AI生成" onClick={onAiGenerate} tone="sky" />
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldNpcVisualEditor.tsx:398:<div className="space-y-5">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:93:<div className="flex h-full min-h-0 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:94:<div className="mb-4 flex justify-start">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:105:<div className="min-h-0 flex-1 overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:119:<div className="mt-3 rounded-2xl border border-sky-400/18 bg-sky-500/10 px-4 py-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:120:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:121:<div className="text-sm font-semibold text-white">{progressLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:122:<div className="text-xs text-sky-100">{Math.round(progress)}%</div>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:124:<div className="mt-3 h-3 overflow-hidden rounded-full border border-white/10 bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:126:className="h-full bg-[linear-gradient(90deg,#38bdf8_0%,#67e8f9_48%,#fef08a_100%)] transition-[width] duration-300"
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:134:<div className="mt-3 rounded-2xl border border-rose-400/18 bg-rose-500/10 px-4 py-3 text-sm leading-6 text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:139:<div className="mt-4 flex flex-col gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:140:<div className="flex items-center justify-end gap-3">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:150:<div className="flex items-center justify-between gap-4">
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:151:<span className="text-sm font-semibold text-white">保存并进入世界</span>
E:\Repos\ai-native-visual-rpg\src\components\CustomWorldResultView.tsx:152:<span className="text-white/60">→</span>
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:24:className="fixed inset-0 z-[74] flex items-center justify-center bg-black/78 p-3 sm:p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:32:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,48rem)] w-full max-w-[min(96vw,42rem)] flex-col overflow-hidden shadow-[0_28px_90px_rgba(0,0,0,0.58)]"
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:36:<div className="flex items-center justify-between gap-3 border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:37:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:38:<div className="mt-1 text-sm font-semibold text-white">{'\u5f00\u53d1\u56e2\u961f'}</div>
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:43:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:44:aria-label="Close developer team modal"
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:46:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:50:<div className="min-h-0 flex-1 overflow-y-auto p-4 sm:p-5">
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:52:className="pixel-nine-slice pixel-panel flex flex-col items-center gap-5"
E:\Repos\ai-native-visual-rpg\src\components\DeveloperTeamModal.tsx:55:<div className="whitespace-pre-line text-center text-sm leading-7 text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\GameCanvas.tsx:24:<div className="relative h-full w-full overflow-hidden bg-black">
E:\Repos\ai-native-visual-rpg\src\components\GameCanvas.tsx:25:<div className="absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.08),transparent_38%),linear-gradient(180deg,rgba(12,16,24,0.96),rgba(3,5,10,1))]" />
E:\Repos\ai-native-visual-rpg\src\components\GameCanvas.tsx:27:<div className="absolute left-1/2 top-3 -translate-x-1/2 rounded-full border border-white/10 bg-black/45 px-4 py-1 text-[10px] uppercase tracking-[0.2em] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\GameCanvas.tsx:31:<div className="absolute inset-0 flex items-center justify-center text-[11px] uppercase tracking-[0.3em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:156:className="fixed inset-0 z-[90] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:160:className="pixel-nine-slice pixel-modal-shell flex min-h-40 w-full max-w-md items-center justify-center px-6 py-8 text-center text-sm text-zinc-300 shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:176:<div className="pixel-nine-slice flex min-h-0 flex-1 items-center justify-center px-4 py-6 text-center text-xs uppercase tracking-[0.24em] text-zinc-500" style={getNineSliceStyle(UI_CHROME.modalPanel)}>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:353:className="fusion-pixel-app pixel-root-shell flex h-screen max-h-screen flex-col overflow-hidden font-sans text-zinc-100"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:362:<div className="absolute inset-0 flex items-center justify-center bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.14),transparent_40%),linear-gradient(180deg,rgba(8,10,14,0.2),rgba(8,10,14,0.82))]">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:363:<div className="text-center">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:364:<div className="text-5xl font-black tracking-[0.14em] text-white sm:text-6xl">鍙欎笘</div>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:365:<div className="mt-3 text-sm tracking-[0.44em] text-zinc-300 sm:text-base">GENARRATIVE</div>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:428:className="flex h-full min-h-0 flex-col"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:443:<motion.div key="story-flow" initial={{opacity: 0}} animate={{opacity: 1}} className="flex h-full min-h-0 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:444:<div className="story-top-tabs mb-3 grid grid-cols-3 gap-2 sm:gap-3">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:450:<span className="pixel-tab-button__inner">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:455:<span className="pixel-tab-button__label">队伍</span>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:463:<span className="pixel-tab-button__inner">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:468:<span className="pixel-tab-button__label">冒险</span>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:476:<span className="pixel-tab-button__inner">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:481:<span className="pixel-tab-button__label">背包</span>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:584:className="fixed inset-0 z-[65] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:592:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,60rem)] w-full max-w-5xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:596:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:597:<div className="min-w-0 pr-10 text-sm font-semibold text-white">{overlayPanel === 'character' ? '队伍' : '背包'}</div>
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:601:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:603:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:606:<div className="flex min-h-0 flex-1 p-5">
E:\Repos\ai-native-visual-rpg\src\components\GameShell.tsx:707:<Suspense fallback={<ModalLoadingFallback label="正在加载 NPC 交互..." />}>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:157:<div className="flex min-h-0 flex-1 flex-col">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:158:<div className="flex-1 overflow-y-auto scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:159:<div className="grid grid-cols-4 gap-2 sm:grid-cols-5 lg:grid-cols-6 xl:grid-cols-7">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:165:className="aspect-square rounded-xl border border-dashed border-white/8 bg-black/12"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:178:<div className="flex h-full items-center justify-center">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:181:className="h-9 w-9 drop-shadow-[0_4px_8px_rgba(0,0,0,0.35)] sm:h-11 sm:w-11"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:184:<div className="absolute bottom-1 right-1 rounded-full border border-black/30 bg-black/65 px-1.5 py-0.5 text-[10px] font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:192:<div className="mt-4 rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:193:<div className="mb-2 flex items-center justify-between gap-3 text-xs uppercase tracking-[0.2em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:195:<span className="text-emerald-200/80">{formatCurrency(playerCurrency, worldType)}</span>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:197:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:201:className="rounded-xl border border-white/8 bg-black/20 p-3"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:203:<div className="flex items-start justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:204:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:205:<div className="text-sm font-semibold text-white">{recipe.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:206:<div className="mt-1 text-xs text-zinc-400">{recipe.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:207:<div className="mt-2 text-xs text-emerald-200/80">产物:{recipe.resultLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:208:<div className="mt-1 text-[11px] text-zinc-500">花费:{recipe.currencyText}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:230:<div className="mt-2 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:256:className="fixed inset-0 z-[60] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:264:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,42rem)] w-full max-w-md flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)] sm:max-w-lg"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:268:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:269:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:270:<div className="text-[10px] uppercase tracking-[0.2em] text-zinc-500">{selectedItem.category}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:271:<div className="mt-1 truncate text-sm font-semibold text-white">{selectedItem.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:276:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:278:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:282:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-5">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:283:<div className="flex items-center gap-4">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:287:className="h-14 w-14 drop-shadow-[0_6px_10px_rgba(0,0,0,0.35)]"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:290:<div className="min-w-0 flex-1 space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:291:<div className="rounded-full border border-white/10 bg-white/6 px-2 py-1 text-[10px] uppercase tracking-[0.16em] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:294:<div className="text-sm text-zinc-300">数量:{selectedItem.quantity}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:295:<div className="text-sm text-zinc-300">持有者:{playerCharacter.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:296:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:299:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:302:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:306:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:313:<div className="pixel-nine-slice pixel-panel" style={getNineSliceStyle(UI_CHROME.infoPanel)}>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:314:<div className="grid grid-cols-2 gap-2 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:315:<div className="rounded-lg border border-white/6 bg-black/20 px-3 py-2">类型:{selectedItem.category}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:316:<div className="rounded-lg border border-white/6 bg-black/20 px-3 py-2">标签:{selectedItem.tags.length}</div>
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:318:<div className="mt-3 text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:322:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:326:className="rounded-full border border-sky-400/20 bg-sky-500/10 px-2 py-1 text-[10px] text-sky-100"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:333:<div className="mt-3 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:338:className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] text-zinc-300"
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:344:<span className="rounded-full border border-white/10 bg-black/20 px-2 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:351:<div className="flex justify-end gap-3">
E:\Repos\ai-native-visual-rpg\src\components\InventoryPanel.tsx:416:className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:87:return <div className="mb-1 text-xs font-medium text-zinc-300">{children}</div>;
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:107:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:126:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm leading-relaxed text-white outline-none transition focus:border-emerald-400/40"
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:144:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40"
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:442:<div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:450:<div className="rounded-2xl border border-rose-400/20 bg-rose-500/10 p-6 text-sm text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:457:<div className="grid gap-6 xl:grid-cols-[360px_1fr_420px]">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:458:<Section title="物品列表" description="基于 public/Icons 下的全部 png 素材自动构建物品目录,可按名称、路径、分类和稀有度筛选。">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:459:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:468:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:480:<div className="mt-4 rounded-xl border border-white/10 bg-white/[0.03] px-3 py-2 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:484:<div className="mt-4 max-h-[70vh] space-y-2 overflow-y-auto pr-1 scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:499:<div className="flex h-12 w-12 shrink-0 items-center justify-center rounded-lg border border-white/10 bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:500:<PixelIcon src={item.iconSrc} className="h-9 w-9" />
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:502:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:503:<div className="truncate text-sm font-semibold text-white">{item.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:504:<div className="mt-1 truncate text-[10px] text-zinc-500">{item.sourcePath}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:505:<div className="mt-1 flex flex-wrap gap-1.5">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:506:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-0.5 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:509:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-0.5 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:513:<span className="rounded-full border border-amber-400/20 bg-amber-500/10 px-2 py-0.5 text-[10px] text-amber-100">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:527:<div className="space-y-5">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:528:<div className="grid gap-4 lg:grid-cols-[220px_1fr]">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:529:<div className="flex min-h-[240px] items-center justify-center rounded-2xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.12),transparent_45%),linear-gradient(180deg,#171a22,#0d1016)] p-6">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:530:<PixelIcon src={selectedItem.iconSrc} className="h-40 w-40" />
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:533:<div className="space-y-3 rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:535:<div className="text-xs uppercase tracking-[0.2em] text-zinc-500">{selectedItem.category}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:536:<div className="mt-1 text-xl font-semibold text-white">{selectedItem.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:537:<div className="mt-1 text-xs text-zinc-500">{selectedItem.sourcePath}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:540:<div className="max-w-[12rem]">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:552:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:553:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-1 text-[11px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:556:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-1 text-[11px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:559:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-1 text-[11px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:562:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-1 text-[11px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:565:<span className="rounded-full border border-white/10 bg-white/[0.04] px-2 py-1 text-[11px] text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:570:<p className="text-sm leading-relaxed text-zinc-300">{selectedItem.description}</p>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:572:<div className="rounded-xl border border-white/10 bg-white/[0.03] px-3 py-3">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:573:<div className="text-[11px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:576:<div className="mt-1 text-sm font-semibold text-white">{worldProfile.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:577:<div className="mt-2 text-sm leading-relaxed text-zinc-300">{worldProfile.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:581:<div className="flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:585:className="rounded-full border border-white/10 bg-black/25 px-2 py-1 text-[10px] text-zinc-300"
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:590:<span className="rounded-full border border-white/10 bg-black/25 px-2 py-1 text-[10px] text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:598:<div className="grid gap-4 lg:grid-cols-3">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:599:<div className="rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:600:<div className="mb-2 text-xs font-semibold uppercase tracking-[0.2em] text-zinc-500">属性设计</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:601:<div className="space-y-1 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:609:<div className="rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:610:<div className="mb-2 text-xs font-semibold uppercase tracking-[0.2em] text-zinc-500">使用效果</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:612:<div className="space-y-1 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:619:<div className="text-sm text-zinc-500">无即时使用效果</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:623:<div className="rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:624:<div className="mb-2 text-xs font-semibold uppercase tracking-[0.2em] text-zinc-500">构筑 / 套装</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:626:<div className="space-y-1 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:635:<div className="text-sm text-zinc-500">无构筑信息</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:640:<div className="rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:641:<div className="mb-3 text-xs font-semibold uppercase tracking-[0.2em] text-zinc-500">背包卡片预览</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:642:<div className="flex items-center gap-4 rounded-2xl border border-white/10 bg-black/25 p-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:643:<div className="relative flex h-24 w-24 shrink-0 items-center justify-center rounded-2xl border border-white/10 bg-white/[0.04]">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:644:<PixelIcon src={selectedItem.iconSrc} className="h-14 w-14" />
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:645:<div className="absolute bottom-2 right-2 rounded-full border border-black/30 bg-black/65 px-1.5 py-0.5 text-[10px] font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:649:<div className="min-w-0 flex-1 space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:650:<div className="text-base font-semibold text-white">{selectedItem.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:651:<div className="text-sm text-zinc-400">{selectedItem.category} / {RARITY_LABELS[selectedItem.rarity]}</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:653:<div className="text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:658:<div className="text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:667:<div className="rounded-xl border border-white/10 bg-black/20 px-4 py-6 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:673:<Section title="物品字段" description="编辑当前物品的覆盖字段。未修改的字段不会写入 override重置后会恢复自动生成值。">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:675:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:694:<div className="grid gap-4 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:721:<div className="mt-1 text-xs text-zinc-500">支持逗号或换行分隔。</div>
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:733:<div className="grid gap-4 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:764:<div className="grid gap-4 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:797:<div className="grid gap-4 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:862:<div className="rounded-xl border border-white/10 bg-white/[0.03] px-3 py-2 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:866:<div className="flex flex-wrap items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:871:className="rounded-lg bg-emerald-500 px-4 py-2 text-sm font-medium text-black transition hover:bg-emerald-400 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:887:{saveMessage && <div className="text-xs text-zinc-400">{saveMessage}</div>}
E:\Repos\ai-native-visual-rpg\src\components\ItemCatalogEditor.tsx:891:<div className="rounded-xl border border-white/10 bg-black/20 px-4 py-6 text-sm text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\LazySkillEffectPreview.tsx:15:<div className="rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\LazySkillEffectPreview.tsx:16:<div className="mb-3 space-y-2">
E:\Repos\ai-native-visual-rpg\src\components\LazySkillEffectPreview.tsx:17:<div className="h-4 w-28 rounded bg-white/10" />
E:\Repos\ai-native-visual-rpg\src\components\LazySkillEffectPreview.tsx:18:<div className="h-3 w-40 rounded bg-white/5" />
E:\Repos\ai-native-visual-rpg\src\components\LazySkillEffectPreview.tsx:20:<div className="overflow-hidden rounded-2xl border border-white/10 bg-black">
E:\Repos\ai-native-visual-rpg\src\components\LazySkillEffectPreview.tsx:21:<div className="h-[300px] animate-pulse bg-[radial-gradient(circle_at_top,rgba(255,255,255,0.08),transparent_42%),linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.02))]" />
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:51:className="pixel-nine-slice map-room-cell h-full min-h-[3.25rem] opacity-40"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:73:<button type="button" onClick={onClick} className="block h-full w-full text-left">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:147:className="fixed inset-0 z-50 flex items-center justify-center bg-black/70 p-3 sm:p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:155:className="pixel-nine-slice pixel-modal-shell relative flex max-h-[min(92vh,62rem)] w-full max-w-[min(96vw,64rem)] flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:160:className="pointer-events-none absolute inset-0"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:163:<div className="pointer-events-none absolute inset-0 bg-[linear-gradient(180deg,rgba(2,6,23,0.18),rgba(2,6,23,0.68))]" />
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:164:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:165:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:166:<div className="inline-flex items-center gap-2 text-[10px] tracking-[0.22em] text-emerald-300/75">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:167:<PixelIcon src={CHROME_ICONS.map} className="h-3.5 w-3.5" />
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:174:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:176:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:180:<div className="relative grid min-h-0 flex-1 gap-4 overflow-y-auto p-4 sm:p-5 md:grid-cols-[minmax(15rem,18rem)_minmax(0,1fr)] md:overflow-hidden">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:182:className="pixel-nine-slice pixel-panel min-w-0 font-mono text-[11px] leading-relaxed text-emerald-100/85 md:max-h-full md:self-start md:overflow-y-auto"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:185:<div className="text-emerald-200/75">当前位置</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:186:<div className="mt-1 text-sm text-white">{currentScenePreset.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:187:<div className="mt-2 text-zinc-300">{currentScenePreset.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:189:<div className="mt-2 space-y-1.5 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:198:<div className="min-h-0 p-1 font-mono md:overflow-y-auto">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:199:<div className="md:hidden">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:200:<div className="grid grid-cols-[minmax(0,0.9fr)_2rem_minmax(0,1.1fr)] items-start gap-3">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:201:<div className="w-full max-w-[7.5rem] justify-self-start" style={{ minHeight: `${destinationStackHeightPx}px` }}>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:204:<div className="relative" style={{ minHeight: `${destinationStackHeightPx}px` }}>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:206:<svg className="absolute inset-0 h-full w-full" preserveAspectRatio="none">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:221:<div className="space-y-3" style={{ minHeight: `${destinationStackHeightPx}px` }}>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:236:<div className="hidden md:block">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:237:<div className="grid grid-cols-[minmax(0,12rem)_4rem_minmax(0,1fr)] items-start gap-4">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:238:<div className="w-full max-w-[9rem] justify-self-start" style={{ minHeight: `${destinationStackHeightPx}px` }}>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:241:<div className="relative" style={{ minHeight: `${destinationStackHeightPx}px` }}>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:243:<svg className="absolute inset-0 h-full w-full" preserveAspectRatio="none">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:258:<div className="space-y-3" style={{ minHeight: `${destinationStackHeightPx}px` }}>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:281:className="fixed inset-0 z-[60] flex items-center justify-center bg-black/45 p-4 backdrop-blur-[2px]"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:292:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,36rem)] w-full max-w-md flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.6)]"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:296:<div className="relative border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:297:<div className="min-w-0 pr-10">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:298:<div className="text-[10px] tracking-[0.22em] text-amber-200/80">场景切换</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:299:<div className="mt-1 truncate text-sm font-semibold text-white">{pendingScene.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:304:className="absolute right-4 top-3 p-1 text-zinc-400 transition-colors hover:text-white sm:right-5 sm:top-4"
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:306:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:310:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-4 sm:p-5">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:311:<div className="rounded-xl border border-amber-400/20 bg-amber-500/10 px-4 py-4">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:312:<div className="text-[10px] tracking-[0.18em] text-amber-200/75">目标场景</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:313:<div className="mt-2 text-base font-semibold text-white">{pendingScene.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:314:<div className="mt-2 text-sm leading-relaxed text-zinc-300">{pendingScene.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:317:<div className="grid gap-3 sm:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:318:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:319:<div className="text-[10px] tracking-[0.18em] text-zinc-500">当前</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:320:<div className="mt-2 text-sm font-semibold text-white">{currentScenePreset.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:322:<div className="rounded-xl border border-white/8 bg-black/20 px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:323:<div className="text-[10px] tracking-[0.18em] text-zinc-500">前往</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:324:<div className="mt-2 text-sm font-semibold text-white">{pendingScene.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:328:<div className="flex justify-end gap-2">
E:\Repos\ai-native-visual-rpg\src\components\MapModal.tsx:332:className="rounded-lg border border-white/10 bg-black/20 px-3 py-2 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\MedievalNpcAnimator.tsx:118:npcName: '预览 NPC',
E:\Repos\ai-native-visual-rpg\src\components\MedievalNpcAnimator.tsx:119:npcDescription: '用于预览的 NPC 外形。',
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:68:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:69:<div className="flex h-11 w-11 shrink-0 items-center justify-center rounded-lg border border-white/10 bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:70:<PixelIcon src={getItemVisualSrc(item)} className="h-7 w-7" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:72:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:73:<div className="truncate text-sm font-medium text-white">{item.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:74:<div className="mt-1 text-[10px] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:78:<div className="rounded-full border border-white/10 bg-black/25 px-2 py-0.5 text-[10px] text-white">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:97:<div className="flex items-center justify-between rounded-xl border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:99:<div className="text-[10px] uppercase tracking-[0.18em] text-zinc-500">数量</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:100:<div className="mt-1 text-xs text-zinc-400">最大 {safeMax}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:102:<div className="flex items-center gap-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:115:<div className="min-w-[3rem] text-center text-sm font-semibold text-white">{quantity}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:196:className="fixed inset-0 z-[75] flex items-center justify-center bg-black/70 p-3 backdrop-blur-sm sm:p-4"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:203:className="pixel-nine-slice pixel-modal-shell flex w-full max-w-4xl max-h-[min(92vh,48rem)] flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:207:<div className="flex items-center justify-between border-b border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:208:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:209:<div className="text-sm font-semibold text-white">交易</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:210:<div className="mt-1 text-xs text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:217:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:219:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:223:<div className="flex-1 overflow-y-auto px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:224:<div className="grid gap-3 lg:grid-cols-[minmax(0,1.2fr)_minmax(18rem,0.8fr)]">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:225:<div className="min-h-0 space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:226:<div className="grid grid-cols-2 gap-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:251:<div className="flex items-center justify-between rounded-xl border border-white/8 bg-black/20 px-3 py-2 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:256:<div className="max-h-[42vh] space-y-2 overflow-y-auto pr-1 scrollbar-hide">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:272:<div className="rounded-xl border border-dashed border-white/10 bg-black/20 px-4 py-6 text-sm text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:279:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:280:<div className="rounded-xl border border-white/8 bg-black/20 p-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:282:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:289:<div className="rounded-xl border border-white/8 bg-black/20 px-3 py-3 text-sm text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:290:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:292:<span className="font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:297:<div className="mt-2 text-xs text-rose-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:304:<div className="px-2 py-8 text-center text-sm text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:313:<div className="flex items-center justify-end gap-3 border-t border-white/10 px-4 py-3 sm:px-5 sm:py-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:317:className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:341:className="fixed inset-0 z-[76] flex items-center justify-center bg-black/78 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:348:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,42rem)] w-full max-w-lg flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:352:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:354:<div className="text-sm font-semibold text-white">物品详情</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:355:<div className="mt-1 text-xs text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:362:className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:364:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:368:<div className="min-h-0 flex-1 space-y-4 overflow-y-auto p-5">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:369:<div className="flex items-start gap-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:370:<div className="flex h-20 w-20 shrink-0 items-center justify-center rounded-2xl border border-white/10 bg-black/25">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:371:<PixelIcon src={getItemVisualSrc(tradeDetailItem)} className="h-12 w-12" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:373:<div className="min-w-0 flex-1">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:374:<div className="text-base font-semibold text-white">{tradeDetailItem.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:375:<div className="mt-1 text-xs text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:378:<div className="mt-2 space-y-1 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:390:<p className="text-sm leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:394:<div className="grid grid-cols-2 gap-2 text-xs text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:395:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:398:<div className="rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:401:<div className="col-span-2 rounded-lg border border-white/8 bg-black/20 px-3 py-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:407:<div className="rounded-lg border border-emerald-400/15 bg-emerald-500/10 px-3 py-2 text-xs text-emerald-100">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:412:<div className="flex justify-end">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:416:className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-zinc-200"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:432:className="fixed inset-0 z-[75] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:439:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,48rem)] w-full max-w-3xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:443:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:445:<div className="text-sm font-semibold text-white">送礼面板</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:446:<div className="mt-1 text-xs text-zinc-500">{npcUi.giftModal.encounter.npcName}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:448:<button type="button" onClick={npcUi.closeGiftModal} className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:449:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:453:<div className="min-h-0 flex-1 space-y-2 overflow-y-auto p-5">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:461:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:462:<div className="flex items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:463:<PixelIcon src={getItemVisualSrc(candidate.item)} className="h-8 w-8" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:465:<div className="text-sm text-white">{candidate.item.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:466:<div className="mt-1 text-[10px] text-zinc-500">{candidate.item.category} / {getRarityLabel(candidate.item.rarity)}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:469:<div className="rounded-full border border-rose-500/20 bg-rose-500/10 px-2 py-0.5 text-[10px] text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:477:<div className="flex justify-end gap-3 px-5 pb-5">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:478:<button type="button" onClick={npcUi.closeGiftModal} className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-zinc-200" style={getNineSliceStyle(UI_CHROME.choiceButton, { paddingX: 14, paddingY: 8 })}>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:494:className="fixed inset-0 z-[75] flex items-center justify-center bg-black/70 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:501:className="pixel-nine-slice pixel-modal-shell flex max-h-[min(92vh,42rem)] w-full max-w-2xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:505:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:507:<div className="text-sm font-semibold text-white">当前上阵已满</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:508:<div className="mt-1 text-xs text-zinc-500">请选择一名要转入待命列表的同伴,再邀请新同伴入队。</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:510:<button type="button" onClick={npcUi.closeRecruitModal} className="rounded-full border border-white/10 bg-black/20 p-2 text-zinc-400 transition-colors hover:text-white">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:511:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:515:<div className="min-h-0 flex-1 space-y-2 overflow-y-auto p-5">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:526:<div className="text-sm text-white">{character.name}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:527:<div className="mt-1 text-[10px] text-zinc-500">{character.title}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:533:<div className="flex justify-end gap-3 px-5 pb-5">
E:\Repos\ai-native-visual-rpg\src\components\NpcModals.tsx:534:<button type="button" onClick={npcUi.closeRecruitModal} className="pixel-nine-slice pixel-pressable px-4 py-2 text-xs text-zinc-200" style={getNineSliceStyle(UI_CHROME.choiceButton, { paddingX: 14, paddingY: 8 })}>
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:199:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:200:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:205:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:462:<div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:539:setSaveMessage(error instanceof Error ? error.message : 'Save failed');
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:700:<div className="mb-8">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:701:<div className="text-xs uppercase tracking-[0.3em] text-emerald-400/70">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:704:<h1 className="mt-2 text-3xl font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:707:<p className="mt-2 max-w-4xl text-sm leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:713:<div className="grid gap-6 lg:grid-cols-[360px_1fr]">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:714:<div className="rounded-2xl border border-white/10 bg-white/5 p-5">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:716:<div className="mb-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:718:label="当前 NPC"
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:723:label: `${option.encounter.npcName} (${option.sceneNames.join(' / ')})`,
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:729:<div className="mb-4 rounded-xl border border-white/10 bg-black/20 px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:730:<div className="text-sm font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:733:<div className="mt-1 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:736:<div className="mt-2 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:741:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:940:<div className="mt-5 flex flex-wrap items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:944:className="inline-flex items-center gap-2 rounded-lg bg-emerald-500 px-4 py-2 text-sm font-medium text-black transition hover:bg-emerald-400 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:946:<Save className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:952:className="inline-flex items-center gap-2 rounded-lg border border-emerald-400/30 bg-emerald-500/10 px-4 py-2 text-sm font-medium text-emerald-100 transition hover:bg-emerald-500/20 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:954:<Move className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:960:className="inline-flex items-center gap-2 rounded-lg border border-white/10 bg-black/20 px-4 py-2 text-sm font-medium text-zinc-200 transition hover:bg-white/10 disabled:cursor-not-allowed disabled:opacity-40"
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:962:<RotateCcw className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:971:<div className="rounded-2xl border border-white/10 bg-[radial-gradient(circle_at_top,rgba(16,185,129,0.16),transparent_40%),linear-gradient(180deg,#10131a,#090b0f)] p-6">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:972:<div className="mb-4 flex items-center justify-between gap-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:974:<div className="text-sm font-semibold text-white">布局预览</div>
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:975:<div className="mt-1 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:979:<div className="rounded-lg border border-white/10 bg-black/20 px-3 py-2 text-xs text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:981:<span className="ml-1 text-emerald-300">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:987:<div className="mb-4 flex flex-wrap gap-2">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:999:<div className="flex min-h-[520px] items-center justify-center rounded-2xl border border-white/10 bg-[linear-gradient(180deg,#21242a,#111317)] p-6">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1000:<div className="relative flex h-[420px] w-[320px] items-end justify-center overflow-hidden rounded-xl bg-[linear-gradient(180deg,#2a2f39,#16191f)] shadow-[inset_0_0_0_1px_rgba(255,255,255,0.04)]">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1001:<div className="absolute inset-0 opacity-10 [background-image:linear-gradient(rgba(255,255,255,0.16)_1px,transparent_1px),linear-gradient(90deg,rgba(255,255,255,0.16)_1px,transparent_1px)] [background-size:20px_20px]" />
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1007:className="mb-10 drop-shadow-[0_18px_24px_rgba(0,0,0,0.45)]"
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1012:<div className="mt-4 grid grid-cols-2 gap-3 md:grid-cols-4">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1020:<div className="mt-1 font-mono">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1027:<div className="mt-4 rounded-xl border border-white/10 bg-black/20 px-4 py-3 text-xs leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1028:Current loadout:<span className="ml-2 text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1036:<span className="mx-2 text-zinc-600">/</span>
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1037:<span className="text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1045:<span className="mx-2 text-zinc-600">/</span>
E:\Repos\ai-native-visual-rpg\src\components\NpcVisualEditor.tsx:1046:<span className="text-zinc-200">
E:\Repos\ai-native-visual-rpg\src\components\npcVisualEditorPersistence.ts:31:saveMessage: 'Saved NPC visual overrides to src/data/npcVisualOverrides.json.',
E:\Repos\ai-native-visual-rpg\src\components\npcVisualEditorPersistence.ts:50:saveMessage: 'Saved shared NPC layout config.',
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:61:<div className="min-h-screen bg-[#0b0d11] text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:62:<div className="mx-auto max-w-[1600px] px-6 py-8">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:63:<div className="mb-8">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:64:<div className="text-xs uppercase tracking-[0.3em] text-emerald-400/70">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:67:<h1 className="mt-2 text-3xl font-semibold text-white">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:70:<p className="mt-2 max-w-4xl text-sm leading-relaxed text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:75:<div className="mb-6 flex flex-wrap gap-3">
E:\Repos\ai-native-visual-rpg\src\components\PresetEditor.tsx:91:<Icon className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:53:className="fixed inset-0 z-[90] flex items-center justify-center bg-black/72 p-4 backdrop-blur-sm"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:61:className="pixel-nine-slice pixel-modal-shell flex w-full max-w-2xl flex-col overflow-hidden shadow-[0_24px_80px_rgba(0,0,0,0.55)]"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:65:<div className="flex items-center justify-between border-b border-white/10 px-5 py-4">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:66:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:67:<div className="text-sm font-semibold text-white">{title}</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:69:<div className="mt-1 text-xs leading-relaxed text-zinc-400">{subtitle}</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:78:<PixelIcon src={CHROME_ICONS.close} className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:81:<div className="p-5">{children}</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:107:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:108:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:109:<div className="mb-3 text-xs font-bold tracking-[0.16em] text-white">世界设定文本</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:115:className="min-h-[22rem] w-full resize-none rounded-[1.75rem] border border-transparent bg-black/18 px-5 py-4 text-sm leading-7 text-zinc-100 outline-none transition-[background-color,box-shadow] placeholder:text-zinc-500 focus:bg-black/24 focus:shadow-[inset_0_0_0_1px_rgba(125,211,252,0.22)]"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:120:<div className="rounded-2xl border border-sky-400/18 bg-sky-500/10 px-4 py-4">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:121:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:122:<div className="text-sm font-semibold text-white">{progressLabel}</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:123:<div className="text-xs text-sky-100">{Math.round(progress)}%</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:125:<div className="mt-3 h-3 overflow-hidden rounded-full border border-white/10 bg-black/35">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:127:className="h-full bg-[linear-gradient(90deg,#38bdf8_0%,#67e8f9_48%,#fef08a_100%)] transition-[width] duration-300"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:135:<div className="rounded-2xl border border-rose-400/18 bg-rose-500/10 px-4 py-3 text-sm leading-6 text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:140:<div className="flex justify-end gap-3">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:156:<div className="flex items-center justify-between gap-4">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:157:<span className="text-sm font-semibold text-white">{isGenerating ? '正在生成世界...' : '确认并开始生成'}</span>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:158:<span className="text-white/60">{isGenerating ? '...' : '→'}</span>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:185:<div className="space-y-4">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:186:<div className="rounded-2xl border border-white/8 bg-black/18 px-4 py-3 text-sm leading-7 text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:190:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:191:<div className="mb-2 text-xs font-bold tracking-[0.14em] text-white">角色名称</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:196:className="w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-sm text-zinc-100 outline-none transition-colors placeholder:text-zinc-500 focus:border-sky-300/35"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:200:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:201:<div className="mb-2 text-xs font-bold tracking-[0.14em] text-white">角色背景故事</div>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:206:className="min-h-44 w-full rounded-2xl border border-white/10 bg-black/25 px-4 py-3 text-sm leading-7 text-zinc-100 outline-none transition-colors placeholder:text-zinc-500 focus:border-sky-300/35"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:211:<div className="rounded-2xl border border-rose-400/18 bg-rose-500/10 px-4 py-3 text-sm leading-6 text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:216:<div className="flex justify-end gap-3">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:220:className="rounded-full border border-white/10 bg-black/20 px-4 py-2 text-sm text-zinc-300 transition-colors hover:text-white"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:227:className="pixel-nine-slice pixel-pressable text-left"
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:230:<div className="flex items-center justify-between gap-4">
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:231:<span className="text-sm font-semibold text-white">保存修改</span>
E:\Repos\ai-native-visual-rpg\src\components\SelectionCustomizationModals.tsx:232:<span className="text-white/60">→</span>
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:219:<div className="rounded-2xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:220:<div className="mb-3 flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:222:<div className="text-sm font-semibold text-white">{skill?.name ?? '未选择技能'}</div>
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:223:<div className="mt-1 text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:231:className="inline-flex items-center gap-2 rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-xs text-zinc-200 transition hover:border-white/20 hover:text-white disabled:cursor-not-allowed disabled:opacity-50"
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:233:<RotateCcw className="h-3.5 w-3.5" />
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:238:<div className="overflow-hidden rounded-2xl border border-white/10 bg-black">
E:\Repos\ai-native-visual-rpg\src\components\SkillEffectPreview.tsx:239:<div className="h-[300px]">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:106:{value: 'monster', label: '敌对NPC'},
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:107:{value: 'npc', label: 'NPC'},
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:131:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:132:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:138:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:160:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:161:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:168:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm leading-relaxed text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:188:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:189:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:194:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:224:<label className="block">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:225:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:243:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:310:npcName: '预览 NPC',
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:313:context: 'Preview',
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:325:context: 'Treasure',
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:803:setPlayError(error instanceof Error ? error.message : 'Failed to play preview');
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:833:<div className="mb-4 flex flex-wrap items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:834:<div className="rounded-xl border border-white/10 bg-black/20 px-4 py-3 text-xs leading-relaxed text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:836:<div className="mt-1">模式:{getExecutionModelHint(executionMode)}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:841:className="rounded-lg border border-emerald-400/20 bg-emerald-500/10 px-4 py-2 text-sm text-emerald-100 transition hover:bg-emerald-500/20"
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:848:<div className="mb-4 rounded-xl border border-rose-400/20 bg-rose-500/10 px-4 py-3 text-sm text-rose-100">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:853:<div className="overflow-hidden rounded-2xl border border-white/10 bg-black">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:854:<div className="border-b border-white/10 bg-white/[0.03] px-4 py-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:855:<div className="text-sm font-semibold text-white">{isPlaying ? '预览播放中' : '预览就绪'}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:856:<div className="mt-1 text-xs text-zinc-400">{resolvedOption?.detailText ?? definition.description}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:858:<div className="h-[360px]">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:881:<div className="mt-4 grid gap-3 md:grid-cols-2 xl:grid-cols-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:882:<div className="rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:883:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">实时玩家</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:884:<div className="mt-2 space-y-1 text-sm text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:889:<div className="text-xs text-zinc-400">当前原始值:{gameState.animationState} / {gameState.playerActionMode}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:892:<div className="rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:893:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">实时场景</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:894:<div className="mt-2 space-y-1 text-sm text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:896:<div className="text-xs text-zinc-400">{gameState.currentScenePreset?.id ?? '-'}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:900:<div className="rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:901:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">解析计划</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:902:<div className="mt-2 space-y-1 text-sm text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:908:<div className="rounded-xl border border-white/10 bg-black/20 p-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:909:<div className="text-[11px] uppercase tracking-[0.22em] text-zinc-500">战斗快照</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:911:<div className="mt-2 space-y-1 text-sm text-zinc-100">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:913:<div className="text-xs text-zinc-400">动画:{predictedSkill?.animation ?? displayAnimation}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:914:<div className="text-xs text-zinc-400">释放:{predictedSkill?.delivery ?? displayActionMode}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:915:<div className="text-xs text-zinc-400">伤害:{predictedSkill?.estimatedDamage ?? 'n/a'}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:916:<div className="text-xs text-zinc-400">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:921:<div className="mt-2 text-sm text-zinc-400">当前预览中尚未发出任何战斗动画。</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:969:return <div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-300">无可选行为可用。</div>;
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1064:setSaveMessage(error instanceof Error ? error.message : 'Failed to save option behavior overrides');
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1080:<div className="grid gap-6 xl:grid-cols-[320px_1fr_420px]">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1081:<div className="space-y-6">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1083:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1098:<div className="flex items-center justify-between gap-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1099:<div className="min-w-0">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1100:<div className="truncate text-sm font-semibold">{definition.text}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1101:<div className="mt-1 font-mono text-[11px] text-zinc-500">{definition.id}</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1103:{isCustomized && <span className="shrink-0 rounded-full border border-emerald-400/30 bg-emerald-500/10 px-2 py-0.5 text-[10px] uppercase tracking-[0.2em] text-emerald-100">自定义</span>}
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1105:<div className="mt-3 flex flex-wrap gap-2 text-[11px] uppercase tracking-[0.18em] text-zinc-500">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1113:<div className="mt-5 flex flex-wrap items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1114:<button type="button" onClick={saveOverrides} disabled={isSaving} className="inline-flex items-center gap-2 rounded-lg bg-emerald-500 px-4 py-2 text-sm font-medium text-black transition hover:bg-emerald-400 disabled:cursor-not-allowed disabled:opacity-60">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1115:<Save className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1118:<button type="button" onClick={resetCurrentBehavior} disabled={!overrideMap[selectedDefinition.id]} className="inline-flex items-center gap-2 rounded-lg border border-white/10 bg-black/20 px-4 py-2 text-sm font-medium text-zinc-200 transition hover:bg-white/10 disabled:cursor-not-allowed disabled:opacity-40">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1119:<RotateCcw className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1122:{saveMessage && <div className="text-xs text-zinc-400">{saveMessage}</div>}
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1127:<div className="space-y-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1129:<div className="flex flex-wrap gap-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1130:<button type="button" onClick={() => applyTemplate(false)} disabled={!selectedTemplateId} className="rounded-lg border border-emerald-400/20 bg-emerald-500/10 px-4 py-2 text-sm text-emerald-100 transition hover:bg-emerald-500/20 disabled:cursor-not-allowed disabled:opacity-40">应用结构</button>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1131:<button type="button" onClick={() => applyTemplate(true)} disabled={!selectedTemplateId} className="rounded-lg border border-white/10 bg-black/20 px-4 py-2 text-sm text-zinc-200 transition hover:bg-white/10 disabled:cursor-not-allowed disabled:opacity-40">应用文本</button>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1137:<div className="space-y-6">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1138:<SectionCard title="选项行为预览" description="下方预览会重建本地 GameState并回放真实选项流程包括战斗、逃跑、移动和空闲逻辑。">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1139:<div className="mb-4 grid gap-3 md:grid-cols-2 xl:grid-cols-5">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1143:<SelectField label="敌对NPC资源" value={selectedMonster.id} onChange={setSelectedMonsterId} options={monsterOptions.map(monster => ({value: monster.id, label: monster.name}))} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1146:{!executable && <div className="mb-4 rounded-xl border border-amber-400/20 bg-amber-500/10 px-4 py-3 text-sm text-amber-100">当前预览上下文下,这个状态/分类组合不可执行。</div>}
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1147:<div className="mb-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1160:<div className="space-y-6">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1162:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1163:<TextField label="行为 ID" value={selectedDefinition.id} onChange={() => undefined} disabled />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1184:<div className="grid gap-3">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1187:<OptionalNumberField label="玩家 Y 偏移" value={selectedDefinition.visual.playerOffsetY} onChange={value => updateVisual('playerOffsetY', value)} step={1} disabled={playerVisualFieldsDisabled} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1190:<TextAreaField label="敌对NPC反应文案" value={selectedDefinition.visual.monsterActionTemplate ?? ''} onChange={value => updateVisual('monsterActionTemplate', value || undefined)} rows={3} placeholder="可使用 {monster} 占位符" disabled={monsterVisualFieldsDisabled} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1191:<SelectField label="敌对NPC反应动画" value={selectedDefinition.visual.monsterAnimation ?? ''} onChange={value => updateVisual('monsterAnimation', (value || undefined) as FunctionVisualConfig['monsterAnimation'])} options={[{value: '', label: '无'}, ...MONSTER_ANIMATION_OPTIONS.map(value => ({value, label: value === 'idle' ? '待机' : value === 'move' ? '移动' : value === 'attack' ? '攻击' : value}))]} disabled={monsterVisualFieldsDisabled} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1192:<OptionalNumberField label="敌对NPC反应位移" value={selectedDefinition.visual.monsterMoveMeters} onChange={value => updateVisual('monsterMoveMeters', value)} step={0.1} disabled={monsterVisualFieldsDisabled} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1197:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1206:<OptionalNumberField label="敌对NPC追击起始滞后" value={selectedDefinition.effect.monsterLagStart} onChange={value => updateEffect('monsterLagStart', value)} step={0.01} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1207:<OptionalNumberField label="敌对NPC追击结束滞后" value={selectedDefinition.effect.monsterLagEnd} onChange={value => updateEffect('monsterLagEnd', value)} step={0.01} />
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1212:<div className="mt-4">
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1213:<div className="mb-3 text-xs font-medium uppercase tracking-[0.22em] text-zinc-500">技能权重</div>
E:\Repos\ai-native-visual-rpg\src\components\StateFunctionEditor.tsx:1214:<div className="grid gap-3 md:grid-cols-2">
E:\Repos\ai-native-visual-rpg\src\editor\shared\EditorEmptyState.tsx:3:<div className="rounded-2xl border border-white/10 bg-black/20 p-6 text-sm text-zinc-300">
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:33:<label className="block">
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:34:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:40:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:60:<label className="block">
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:61:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:68:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40"
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:90:<label className="block">
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:91:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:98:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm leading-relaxed text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:118:<label className="block">
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:119:<div className="mb-1 text-xs font-medium text-zinc-300">{label}</div>
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:124:className="w-full rounded-lg border border-white/10 bg-black/30 px-3 py-2 text-sm text-white outline-none transition focus:border-emerald-400/40 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:148:<div className="mt-5 flex flex-wrap items-center gap-3">
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:153:className="inline-flex items-center gap-2 rounded-lg bg-emerald-500 px-4 py-2 text-sm font-medium text-black transition hover:bg-emerald-400 disabled:cursor-not-allowed disabled:opacity-60"
E:\Repos\ai-native-visual-rpg\src\editor\shared\FormFields.tsx:155:<Save className="h-4 w-4" />
E:\Repos\ai-native-visual-rpg\src\editor\shared\jsonClient.test.ts:11:message: 'Detailed failure',
E:\Repos\ai-native-visual-rpg\src\editor\shared\jsonClient.ts:29:export async function fetchJson<T>(url: string, fallbackMessage = 'Request failed'): Promise<T> {
E:\Repos\ai-native-visual-rpg\src\editor\shared\jsonClient.ts:43:fallbackMessage = 'Save failed',
E:\Repos\ai-native-visual-rpg\src\editor\shared\SectionCard.tsx:18:<div className="mb-4">
E:\Repos\ai-native-visual-rpg\src\editor\shared\SectionCard.tsx:19:<div className="text-sm font-semibold text-white">{title}</div>
E:\Repos\ai-native-visual-rpg\src\editor\shared\SectionCard.tsx:21:<div className="mt-1 text-xs leading-relaxed text-zinc-400">