Procházet zdrojové kódy

优化边框样式

liuziting před 7 měsíci
rodič
revize
5fb096b668

+ 3 - 3
src/components/ConfirmModal.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4" @click.self="$emit('cancel')">
-        <div class="bg-white rounded-lg border-2 border-black max-w-md w-full">
+        <div class="bg-white rounded-lg border-2 border-[#0A0910] max-w-md w-full">
             <div class="border-b-2 border-black p-4">
                 <h3 class="text-lg font-bold">{{ title }}</h3>
             </div>
@@ -9,13 +9,13 @@
                 <div class="flex gap-2">
                     <button
                         @click="$emit('confirm')"
-                        class="flex-1 px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg font-medium border-2 border-black transition-all duration-200"
+                        class="flex-1 px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200"
                     >
                         确认
                     </button>
                     <button
                         @click="$emit('cancel')"
-                        class="flex-1 px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg font-medium border-2 border-black transition-all duration-200"
+                        class="flex-1 px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200"
                     >
                         取消
                     </button>

+ 1 - 1
src/components/GlobalFooter.vue

@@ -1,5 +1,5 @@
 <template>
-    <footer class="bg-white border-2 border-black max-w-7xl mx-auto px-2 rounded-lg p-4 text-center mt-8">
+    <footer class="bg-white border-2 border-[#0A0910] max-w-7xl mx-auto px-2 rounded-lg p-4 text-center mt-8">
         <div class="space-y-3">
             <!-- 主要信息 -->
             <div class="flex flex-col md:flex-row items-center justify-center gap-2 md:gap-4">

+ 19 - 19
src/components/GlobalNavigation.vue

@@ -1,12 +1,12 @@
 <template>
-    <nav class="bg-white border-2 border-black max-w-7xl mx-auto rounded-lg mb-4 shadow-lg">
-        <div class="px-4 py-3">
+    <nav class="bg-white border-2 border-[#0A0910] max-w-7xl mx-auto rounded-lg mb-4 shadow-lg">
+        <div class="px-6 py-6">
             <!-- 桌面端导航 -->
             <div class="hidden md:flex items-center justify-between">
                 <!-- Logo区域 -->
                 <router-link to="/" class="flex items-center gap-3 transition-transform duration-200" @click="rotateLogo">
                     <div
-                        class="w-12 h-12 bg-gradient-to-br from-yellow-400 to-orange-500 rounded-lg flex items-center justify-center border-2 border-black"
+                        class="w-12 h-12 bg-gradient-to-br from-yellow-400 to-orange-500 rounded-lg flex items-center justify-center border-2 border-[#0A0910]"
                         :class="{ 'rotate-logo': isLogoRotating }"
                     >
                         <span class="text-white text-xl font-bold">饭</span>
@@ -23,7 +23,7 @@
                 <div class="flex items-center gap-3">
                     <router-link
                         to="/"
-                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 transform hover:scale-105 text-sm"
+                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 transform hover:scale-105 text-sm"
                         :class="$route.path === '/' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🏠</span>
@@ -31,7 +31,7 @@
                     </router-link>
                     <router-link
                         to="/today-eat"
-                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 transform hover:scale-105 text-sm"
+                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 transform hover:scale-105 text-sm"
                         :class="$route.path === '/today-eat' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🎲</span>
@@ -39,7 +39,7 @@
                     </router-link>
                     <router-link
                         to="/table-design"
-                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 transform hover:scale-105 text-sm"
+                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 transform hover:scale-105 text-sm"
                         :class="$route.path === '/table-design' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🍽️</span>
@@ -47,7 +47,7 @@
                     </router-link>
                     <router-link
                         to="/favorites"
-                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 transform hover:scale-105 text-sm"
+                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 transform hover:scale-105 text-sm"
                         :class="$route.path === '/favorites' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>❤️</span>
@@ -55,7 +55,7 @@
                     </router-link>
                     <router-link
                         to="/gallery"
-                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 transform hover:scale-105 text-sm"
+                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 transform hover:scale-105 text-sm"
                         :class="$route.path === '/gallery' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🖼️</span>
@@ -63,7 +63,7 @@
                     </router-link>
                     <router-link
                         to="/about"
-                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 transform hover:scale-105 text-sm"
+                        class="flex items-center gap-2 px-4 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 transform hover:scale-105 text-sm"
                         :class="$route.path === '/about' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>📖</span>
@@ -75,10 +75,10 @@
             <!-- 移动端导航 -->
             <div class="md:hidden">
                 <!-- 顶部Logo和菜单按钮 -->
-                <div class="flex items-center justify-between mb-3">
+                <div class="flex items-center justify-between">
                     <router-link to="/" class="flex items-center gap-2" @click="rotateLogo">
                         <div
-                            class="w-10 h-10 bg-gradient-to-br from-yellow-400 to-orange-500 rounded-lg flex items-center justify-center border-2 border-black"
+                            class="w-10 h-10 bg-gradient-to-br from-yellow-400 to-orange-500 rounded-lg flex items-center justify-center border-2 border-[#0A0910]"
                             :class="{ 'rotate-logo': isLogoRotating }"
                         >
                             <span class="text-white text-lg font-bold">饭</span>
@@ -90,7 +90,7 @@
                             <div class="text-xs text-gray-600 font-medium">{{ pageSubtitle }}</div>
                         </div>
                     </router-link>
-                    <button @click="showMobileMenu = !showMobileMenu" class="p-2 bg-gray-100 hover:bg-gray-200 rounded-lg border-2 border-black transition-colors">
+                    <button @click="showMobileMenu = !showMobileMenu" class="p-2 bg-gray-100 hover:bg-gray-200 rounded-lg border-2 border-[#0A0910] transition-colors">
                         <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
                             <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path>
                         </svg>
@@ -98,11 +98,11 @@
                 </div>
 
                 <!-- 移动端菜单 -->
-                <div v-if="showMobileMenu" class="space-y-2 border-t-2 border-gray-200 pt-3">
+                <div v-if="showMobileMenu" class="space-y-2 border-t-2 border-gray-200 pt-3 mt-3">
                     <router-link
                         to="/"
                         @click="showMobileMenu = false"
-                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                         :class="$route.path === '/' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🏠</span>
@@ -111,7 +111,7 @@
                     <router-link
                         to="/today-eat"
                         @click="showMobileMenu = false"
-                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                         :class="$route.path === '/today-eat' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🎲</span>
@@ -120,7 +120,7 @@
                     <router-link
                         to="/table-design"
                         @click="showMobileMenu = false"
-                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                         :class="$route.path === '/table-design' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🍽️</span>
@@ -129,7 +129,7 @@
                     <router-link
                         to="/favorites"
                         @click="showMobileMenu = false"
-                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                         :class="$route.path === '/favorites' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>❤️</span>
@@ -138,7 +138,7 @@
                     <router-link
                         to="/gallery"
                         @click="showMobileMenu = false"
-                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                         :class="$route.path === '/gallery' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>🖼️</span>
@@ -147,7 +147,7 @@
                     <router-link
                         to="/about"
                         @click="showMobileMenu = false"
-                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                        class="flex items-center gap-2 w-full px-3 py-2 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                         :class="$route.path === '/about' ? 'bg-yellow-400 text-gray-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'"
                     >
                         <span>📖</span>

+ 3 - 3
src/components/ImageModal.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="fixed inset-0 bg-black/80 flex items-center justify-center z-50 p-4" @click="$emit('close')">
-        <div class="bg-white rounded-lg border-2 border-black max-w-4xl max-h-[90vh] overflow-hidden" @click.stop>
+        <div class="bg-white rounded-lg border-2 border-[#0A0910] max-w-4xl max-h-[90vh] overflow-hidden" @click.stop>
             <!-- 头部 -->
             <div class="bg-blue-500 text-white p-4 flex items-center justify-between">
                 <div>
@@ -42,13 +42,13 @@
                 <div class="flex items-center gap-2">
                     <button
                         @click="$emit('download', image)"
-                        class="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg text-sm font-medium border-2 border-black transition-all duration-200 hover:scale-105"
+                        class="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg text-sm font-medium border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                     >
                         📥 下载
                     </button>
                     <button
                         @click="$emit('delete', image.id)"
-                        class="px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg text-sm font-medium border-2 border-black transition-all duration-200 hover:scale-105"
+                        class="px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg text-sm font-medium border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                     >
                         🗑️ 删除
                     </button>

+ 4 - 4
src/components/NotesModal.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4" @click.self="$emit('close')">
-        <div class="bg-white rounded-lg border-2 border-black max-w-md w-full">
+        <div class="bg-white rounded-lg border-2 border-[#0A0910] max-w-md w-full">
             <div class="border-b-2 border-black p-4">
                 <h3 class="text-lg font-bold">编辑备注</h3>
             </div>
@@ -10,7 +10,7 @@
                     <textarea
                         v-model="notes"
                         placeholder="添加你的备注..."
-                        class="w-full p-3 border-2 border-black rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-red-400"
+                        class="w-full p-3 border-2 border-[#0A0910] rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-red-400"
                         rows="4"
                         maxlength="200"
                     ></textarea>
@@ -19,13 +19,13 @@
                 <div class="flex gap-2">
                     <button
                         @click="$emit('save', notes)"
-                        class="flex-1 px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg font-medium border-2 border-black transition-all duration-200"
+                        class="flex-1 px-4 py-2 bg-red-500 hover:bg-red-600 text-white rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200"
                     >
                         保存
                     </button>
                     <button
                         @click="$emit('close')"
-                        class="flex-1 px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg font-medium border-2 border-black transition-all duration-200"
+                        class="flex-1 px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200"
                     >
                         取消
                     </button>

+ 6 - 1
src/components/RecipeCard.vue

@@ -184,7 +184,12 @@
 
                 <!-- 生成的图片 -->
                 <div v-else-if="generatedImage" class="mb-3">
-                    <img :src="generatedImage.url" :alt="`${recipe.name}效果图`" class="w-full h-[20rem] object-cover rounded-lg border-2 border-black" @error="handleImageError" />
+                    <img
+                        :src="generatedImage.url"
+                        :alt="`${recipe.name}效果图`"
+                        class="w-full h-[20rem] object-cover rounded-lg border-2 border-[#0A0910]"
+                        @error="handleImageError"
+                    />
                 </div>
 
                 <!-- 错误提示 -->

+ 1 - 1
src/components/RecipeModal.vue

@@ -1,6 +1,6 @@
 <template>
     <div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4" @click.self="$emit('close')">
-        <div class="bg-white rounded-lg border-2 border-black max-w-4xl max-h-[90vh] overflow-y-auto">
+        <div class="bg-white rounded-lg border-2 border-[#0A0910] max-w-4xl max-h-[90vh] overflow-y-auto">
             <div class="sticky top-0 bg-white border-b-2 border-black p-4 flex items-center justify-between">
                 <h3 class="text-lg font-bold">菜谱详情</h3>
                 <button @click="$emit('close')" class="text-gray-500 hover:text-gray-700 text-xl">✕</button>

+ 8 - 8
src/views/About.vue

@@ -6,10 +6,10 @@
         <div class="max-w-7xl mx-auto space-y-6">
             <!-- 项目简介 -->
             <div class="relative">
-                <div class="bg-blue-500 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block mb-0">
+                <div class="bg-blue-500 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block mb-0">
                     <span class="font-bold text-lg">🎯 项目简介</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-6">
                     <div class="mt-4">
                         <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 items-center mb-8">
                             <div>
@@ -38,7 +38,7 @@
                                 </div>
                             </div>
                             <div class="text-center">
-                                <div class="bg-gradient-to-br from-yellow-400 to-orange-500 rounded-lg p-8 border-2 border-black">
+                                <div class="bg-gradient-to-br from-yellow-400 to-orange-500 rounded-lg p-8 border-2 border-[#0A0910]">
                                     <div class="text-6xl mb-4">👨‍🍳</div>
                                     <h3 class="text-xl font-bold text-white mb-2">LEGENDARY STATUS</h3>
                                     <p class="text-white text-sm">FROM A SINGLE MEAL!</p>
@@ -76,10 +76,10 @@
 
             <!-- 菜系大全 -->
             <div class="relative">
-                <div class="bg-gradient-to-r from-red-500 to-green-500 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block mb-0">
+                <div class="bg-gradient-to-r from-red-500 to-green-500 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block mb-0">
                     <span class="font-bold text-lg">👨‍🍳 大师介绍</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-6">
                     <div class="mt-4">
                         <!-- 中华八大菜系 -->
                         <div class="mb-8">
@@ -138,15 +138,15 @@
 
             <!-- 关于作者 -->
             <div class="relative mt-6">
-                <div class="bg-indigo-500 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block mb-0">
+                <div class="bg-indigo-500 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block mb-0">
                     <span class="font-bold text-lg">👨‍💻 关于作者</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6">
                     <div class="mt-4">
                         <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 items-center">
                             <div>
                                 <div class="flex items-center gap-4 mb-4">
-                                    <div class="w-16 h-16 bg-gradient-to-br from-indigo-400 to-purple-500 rounded-full flex items-center justify-center border-2 border-black">
+                                    <div class="w-16 h-16 bg-gradient-to-br from-indigo-400 to-purple-500 rounded-full flex items-center justify-center border-2 border-[#0A0910]">
                                         <span class="text-white text-2xl font-bold">L</span>
                                     </div>
                                     <div>

+ 16 - 16
src/views/Favorites.vue

@@ -6,10 +6,10 @@
         <div class="max-w-7xl mx-auto">
             <!-- 页面标题 -->
             <div class="mb-6">
-                <div class="bg-red-500 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                <div class="bg-red-500 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                     <span class="font-bold">我的收藏</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6">
                     <div class="flex items-center justify-between">
                         <div class="flex items-center gap-3">
                             <div class="w-12 h-12 bg-red-500 rounded-lg flex items-center justify-center">
@@ -25,14 +25,14 @@
                         <div class="flex items-center gap-2">
                             <!-- <button
                                 @click="refreshFavorites"
-                                class="px-3 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg text-sm font-medium border-2 border-black transition-all duration-200 hover:scale-105"
+                                class="px-3 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg text-sm font-medium border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                             >
                                 🔄 刷新
                             </button> -->
                             <button
                                 v-if="favorites.length > 0"
                                 @click="showClearConfirm = true"
-                                class="px-3 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg text-sm font-medium border-2 border-black transition-all duration-200 hover:scale-105"
+                                class="px-3 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg text-sm font-medium border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                             >
                                 🗑️ 清空
                             </button>
@@ -41,7 +41,7 @@
 
                     <!-- 统计信息 -->
                     <div v-if="false" class="grid grid-cols-1 md:grid-cols-3 gap-4 mb-6">
-                        <div class="bg-gradient-to-r from-pink-100 to-red-100 p-4 rounded-lg border-2 border-black">
+                        <div class="bg-gradient-to-r from-pink-100 to-red-100 p-4 rounded-lg border-2 border-[#0A0910]">
                             <div class="flex items-center gap-2">
                                 <span class="text-2xl">📊</span>
                                 <div>
@@ -51,7 +51,7 @@
                             </div>
                         </div>
 
-                        <div class="bg-gradient-to-r from-green-100 to-emerald-100 p-4 rounded-lg border-2 border-black">
+                        <div class="bg-gradient-to-r from-green-100 to-emerald-100 p-4 rounded-lg border-2 border-[#0A0910]">
                             <div class="flex items-center gap-2">
                                 <span class="text-2xl">👨‍🍳</span>
                                 <div>
@@ -61,7 +61,7 @@
                             </div>
                         </div>
 
-                        <div class="bg-gradient-to-r from-blue-100 to-cyan-100 p-4 rounded-lg border-2 border-black">
+                        <div class="bg-gradient-to-r from-blue-100 to-cyan-100 p-4 rounded-lg border-2 border-[#0A0910]">
                             <div class="flex items-center gap-2">
                                 <span class="text-2xl">📅</span>
                                 <div>
@@ -76,20 +76,20 @@
 
             <!-- 搜索和筛选 -->
             <div v-if="favorites.length > 0" class="mb-6">
-                <div class="bg-white border-2 border-black rounded-lg p-4">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg p-4">
                     <div class="flex flex-col md:flex-row gap-4">
                         <!-- 搜索框 -->
                         <div class="flex-1">
                             <input
                                 v-model="searchQuery"
                                 placeholder="搜索菜谱名称或食材..."
-                                class="w-full p-3 border-2 border-black rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-red-400"
+                                class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-red-400"
                             />
                         </div>
 
                         <!-- 菜系筛选 -->
                         <div class="md:w-48">
-                            <select v-model="selectedCuisine" class="w-full p-3 border-2 border-black rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-red-400">
+                            <select v-model="selectedCuisine" class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-red-400">
                                 <option value="">全部菜系</option>
                                 <option v-for="cuisine in availableCuisines" :key="cuisine" :value="cuisine">
                                     {{ cuisine }}
@@ -99,7 +99,7 @@
 
                         <!-- 排序 -->
                         <div class="md:w-48">
-                            <select v-model="sortBy" class="w-full p-3 border-2 border-black rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-red-400">
+                            <select v-model="sortBy" class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-red-400">
                                 <option value="date-desc">最新收藏</option>
                                 <option value="date-asc">最早收藏</option>
                                 <option value="name-asc">名称 A-Z</option>
@@ -115,7 +115,7 @@
                 <div
                     v-for="favorite in filteredFavorites"
                     :key="favorite.id"
-                    class="bg-white border-2 border-black rounded-lg overflow-hidden hover:shadow-lg transition-all duration-200"
+                    class="bg-white border-2 border-[#0A0910] rounded-lg overflow-hidden hover:shadow-lg transition-all duration-200"
                 >
                     <!-- 收藏信息头部 -->
                     <div class="bg-red-100 border-b-2 border-black p-3">
@@ -146,13 +146,13 @@
 
             <!-- 空状态 -->
             <div v-else-if="favorites.length === 0" class="text-center py-6">
-                <div class="bg-white border-2 border-black rounded-lg p-8">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg p-8">
                     <div class="text-6xl mb-4">🤍</div>
                     <h3 class="text-xl font-bold text-gray-800 mb-2">还没有收藏任何菜谱</h3>
                     <p class="text-gray-600 mb-6">去生成一些美味的菜谱,然后收藏起来吧!</p>
                     <router-link
                         to="/"
-                        class="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 text-white rounded-lg font-bold border-2 border-black transition-all duration-200 hover:scale-105"
+                        class="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 text-white rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                     >
                         <span>✨</span>
                         <span>开始生成菜谱</span>
@@ -162,13 +162,13 @@
 
             <!-- 搜索无结果 -->
             <div v-else class="text-center py-16">
-                <div class="bg-white border-2 border-black rounded-lg p-8">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg p-8">
                     <div class="text-4xl mb-4">🔍</div>
                     <h3 class="text-xl font-bold text-gray-800 mb-2">没有找到匹配的菜谱</h3>
                     <p class="text-gray-600 mb-4">试试调整搜索条件或筛选选项</p>
                     <button
                         @click="clearFilters"
-                        class="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg font-medium border-2 border-black transition-all duration-200"
+                        class="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200"
                     >
                         清除筛选条件
                     </button>

+ 13 - 13
src/views/Gallery.vue

@@ -6,10 +6,10 @@
         <div class="max-w-7xl mx-auto">
             <!-- 页面标题 -->
             <div class="mb-6">
-                <div class="bg-blue-500 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                <div class="bg-blue-500 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                     <span class="font-bold">封神图鉴</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6">
                     <div class="flex items-center justify-between">
                         <div class="flex items-center gap-3">
                             <div class="w-12 h-12 bg-blue-500 rounded-lg flex items-center justify-center">
@@ -26,7 +26,7 @@
                             <button
                                 v-if="images.length > 0"
                                 @click="showClearConfirm = true"
-                                class="px-3 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg text-sm font-medium border-2 border-black transition-all duration-200 hover:scale-105"
+                                class="px-3 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg text-sm font-medium border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                             >
                                 🗑️ 清空
                             </button>
@@ -37,20 +37,20 @@
 
             <!-- 搜索和筛选 -->
             <div v-if="false" class="mb-6">
-                <div class="bg-white border-2 border-black rounded-lg p-4">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg p-4">
                     <div class="flex flex-col md:flex-row gap-4">
                         <!-- 搜索框 -->
                         <div class="flex-1">
                             <input
                                 v-model="searchQuery"
                                 placeholder="搜索菜谱名称、菜系或食材..."
-                                class="w-full p-3 border-2 border-black rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-400"
+                                class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-400"
                             />
                         </div>
 
                         <!-- 菜系筛选 -->
                         <div class="md:w-48">
-                            <select v-model="selectedCuisine" class="w-full p-3 border-2 border-black rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-400">
+                            <select v-model="selectedCuisine" class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-400">
                                 <option value="">全部菜系</option>
                                 <option v-for="cuisine in availableCuisines" :key="cuisine" :value="cuisine">
                                     {{ cuisine }}
@@ -60,7 +60,7 @@
 
                         <!-- 排序 -->
                         <div class="md:w-48">
-                            <select v-model="sortBy" class="w-full p-3 border-2 border-black rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-400">
+                            <select v-model="sortBy" class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm focus:outline-none focus:ring-2 focus:ring-blue-400">
                                 <option value="date-desc">最新生成</option>
                                 <option value="date-asc">最早生成</option>
                                 <option value="name-asc">菜名 A-Z</option>
@@ -72,12 +72,12 @@
             </div>
 
             <!-- 图片网格 -->
-            <div v-if="filteredImages.length > 0" class="bg-white border-2 border-black rounded-lg p-3 md:p-6">
+            <div v-if="filteredImages.length > 0" class="bg-white border-2 border-[#0A0910] rounded-lg p-3 md:p-6">
                 <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
                     <div
                         v-for="image in filteredImages"
                         :key="image.id"
-                        class="bg-white border-2 border-black rounded-lg overflow-hidden hover:shadow-lg transition-all duration-200 group"
+                        class="bg-white border-2 border-[#0A0910] rounded-lg overflow-hidden hover:shadow-lg transition-all duration-200 group"
                     >
                         <!-- 图片 -->
                         <div class="relative aspect-[4/3] overflow-hidden">
@@ -140,13 +140,13 @@
 
             <!-- 空状态 -->
             <div v-else-if="images.length === 0" class="text-center py-6">
-                <div class="bg-white border-2 border-black rounded-lg p-8">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg p-8">
                     <div class="text-6xl mb-4">🖼️</div>
                     <h3 class="text-xl font-bold text-gray-800 mb-2">图库还是空的</h3>
                     <p class="text-gray-600 mb-6">去生成一些菜品效果图,让图库丰富起来吧!</p>
                     <router-link
                         to="/"
-                        class="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-blue-500 to-purple-500 hover:from-blue-600 hover:to-purple-600 text-white rounded-lg font-bold border-2 border-black transition-all duration-200 hover:scale-105"
+                        class="inline-flex items-center gap-2 px-6 py-3 bg-gradient-to-r from-blue-500 to-purple-500 hover:from-blue-600 hover:to-purple-600 text-white rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 hover:scale-105"
                     >
                         <span>✨</span>
                         <span>开始生成菜谱</span>
@@ -156,13 +156,13 @@
 
             <!-- 搜索无结果 -->
             <div v-else class="text-center py-16">
-                <div class="bg-white border-2 border-black rounded-lg p-8">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg p-8">
                     <div class="text-4xl mb-4">🔍</div>
                     <h3 class="text-xl font-bold text-gray-800 mb-2">没有找到匹配的图片</h3>
                     <p class="text-gray-600 mb-4">试试调整搜索条件或筛选选项</p>
                     <button
                         @click="clearFilters"
-                        class="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg font-medium border-2 border-black transition-all duration-200"
+                        class="px-4 py-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200"
                     >
                         清除筛选条件
                     </button>

+ 17 - 17
src/views/Home.vue

@@ -6,10 +6,10 @@
         <div class="max-w-7xl mx-auto">
             <!-- 步骤1: 输入食材 -->
             <div class="mb-6">
-                <div class="bg-pink-400 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                <div class="bg-pink-400 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                     <span class="font-bold">1. 输入食材</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6 md:pb-10">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6 md:pb-10">
                     <div class="text-center mb-6">
                         <div class="w-16 h-16 bg-black rounded-lg flex items-center justify-center mx-auto mb-4">
                             <span class="text-white text-2xl">🥬</span>
@@ -26,7 +26,7 @@
                             <div
                                 v-for="ingredient in ingredients"
                                 :key="ingredient"
-                                class="inline-flex items-center gap-2 bg-yellow-400 text-dark-800 px-3 py-2 rounded-full text-sm font-medium border-2 border-black"
+                                class="inline-flex items-center gap-2 bg-yellow-400 text-dark-800 px-3 py-2 rounded-full text-sm font-medium border-2 border-[#0A0910]"
                             >
                                 {{ ingredient }}
                                 <button @click="removeIngredient(ingredient)" class="hover:bg-yellow-500 rounded-full p-1 transition-colors">
@@ -41,7 +41,7 @@
                                 v-model="currentIngredient"
                                 @keyup.enter="addIngredient"
                                 placeholder="输入食材名称,按回车添加..."
-                                class="w-full p-3 md:p-4 border-2 border-black rounded-lg text-sm md:text-lg font-medium focus:outline-none focus:ring-2 focus:ring-pink-400"
+                                class="w-full p-3 md:p-4 border-2 border-[#0A0910] rounded-lg text-sm md:text-lg font-medium focus:outline-none focus:ring-2 focus:ring-pink-400"
                             />
                         </div>
 
@@ -109,10 +109,10 @@
             <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6">
                 <!-- 步骤2: 选择菜系 -->
                 <div>
-                    <div class="bg-green-400 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                    <div class="bg-green-400 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                         <span class="font-bold">2. 选择菜系</span>
                     </div>
-                    <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6 h-full">
+                    <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6 h-full">
                         <div>
                             <!-- 自定义要求提示 -->
                             <div v-if="customPrompt.trim()" class="mb-4 p-3 bg-blue-50 border-2 border-blue-200 rounded-lg text-center">
@@ -129,7 +129,7 @@
                                         :key="cuisine.id"
                                         @click="selectCuisine(cuisine)"
                                         :class="[
-                                            'p-2 rounded-lg border-2 border-black font-medium text-sm transition-all duration-200 relative flex items-center justify-center gap-1',
+                                            'p-2 rounded-lg border-2 border-[#0A0910] font-medium text-sm transition-all duration-200 relative flex items-center justify-center gap-1',
                                             selectedCuisines.includes(cuisine.id) ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                         ]"
                                     >
@@ -148,7 +148,7 @@
                                         :key="cuisine.id"
                                         @click="selectCuisine(cuisine)"
                                         :class="[
-                                            'p-2 rounded-lg border-2 border-black font-medium text-sm transition-all duration-200 relative flex items-center justify-center gap-1',
+                                            'p-2 rounded-lg border-2 border-[#0A0910] font-medium text-sm transition-all duration-200 relative flex items-center justify-center gap-1',
                                             selectedCuisines.includes(cuisine.id) ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                         ]"
                                     >
@@ -250,7 +250,7 @@
                                     <div class="mt-2">
                                         <button
                                             @click="getRandomInspiration"
-                                            class="w-full py-1.5 px-2 bg-gradient-to-r from-purple-400 to-pink-400 hover:from-purple-500 hover:to-pink-500 text-white text-sm font-medium rounded-lg border-2 border-black transition-all duration-200 transform"
+                                            class="w-full py-1.5 px-2 bg-gradient-to-r from-purple-400 to-pink-400 hover:from-purple-500 hover:to-pink-500 text-white text-sm font-medium rounded-lg border-2 border-[#0A0910] transition-all duration-200 transform"
                                         >
                                             ✨ 随机灵感
                                         </button>
@@ -271,10 +271,10 @@
 
                 <!-- 步骤3: 交给大师 -->
                 <div class="max-sm:mt-10">
-                    <div class="bg-orange-400 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                    <div class="bg-orange-400 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                         <span class="font-bold">3. 交给大师</span>
                     </div>
-                    <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6 h-full">
+                    <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6 h-full">
                         <div class="text-center h-full flex flex-col">
                             <div class="w-16 h-16 bg-gradient-to-br from-orange-400 to-red-500 rounded-lg flex items-center justify-center mx-auto mb-4">
                                 <span class="text-white text-2xl">👨‍🍳</span>
@@ -330,7 +330,7 @@
                             <button
                                 @click="generateRecipes"
                                 :disabled="ingredients.length === 0 || isLoading"
-                                class="w-full bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 disabled:from-gray-400 disabled:to-gray-400 text-white px-6 py-3 rounded-lg font-bold text-base md:text-lg border-2 border-black transition-all duration-300 transform disabled:scale-100 disabled:cursor-not-allowed shadow-lg mb-3"
+                                class="w-full bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 disabled:from-gray-400 disabled:to-gray-400 text-white px-6 py-3 rounded-lg font-bold text-base md:text-lg border-2 border-[#0A0910] transition-all duration-300 transform disabled:scale-100 disabled:cursor-not-allowed shadow-lg mb-3"
                             >
                                 <span class="flex items-center gap-2 justify-center">
                                     <template v-if="isLoading">
@@ -358,10 +358,10 @@
 
             <!-- 步骤4: 菜谱结果 -->
             <div ref="resultsSection" class="mt-16">
-                <div class="bg-dark-800 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                <div class="bg-dark-800 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                     <span class="font-bold">4. 菜谱结果</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-2 md:p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-2 md:p-6">
                     <!-- 移除这个整体加载状态,因为我们现在使用菜系模块加载 -->
 
                     <!-- 流式加载状态 - 显示菜系模块和加载状态 -->
@@ -371,7 +371,7 @@
                             <div
                                 v-for="(cuisineInfo, index) in cuisineSlots"
                                 :key="cuisineInfo.id"
-                                class="border-2 border-black rounded-lg overflow-hidden"
+                                class="border-2 border-[#0A0910] rounded-lg overflow-hidden"
                                 :class="cuisineInfo.recipe ? 'animate-fade-in-up' : ''"
                                 :style="cuisineInfo.recipe ? { animationDelay: `${index * 0.2}s` } : {}"
                             >
@@ -472,7 +472,7 @@
                         <button
                             @click="generateRecipes"
                             :disabled="ingredients.length === 0"
-                            class="bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-white px-6 py-2 rounded-lg font-medium border-2 border-black transition-all duration-200 disabled:cursor-not-allowed"
+                            class="bg-red-500 hover:bg-red-600 disabled:bg-gray-400 text-white px-6 py-2 rounded-lg font-medium border-2 border-[#0A0910] transition-all duration-200 disabled:cursor-not-allowed"
                         >
                             🔄 重新生成
                         </button>
@@ -492,7 +492,7 @@
                         <div
                             v-for="(recipe, index) in recipes"
                             :key="recipe.id"
-                            class="border-2 border-black rounded-lg overflow-hidden animate-fade-in-up"
+                            class="border-2 border-[#0A0910] rounded-lg overflow-hidden animate-fade-in-up"
                             :style="{ animationDelay: `${index * 0.2}s` }"
                         >
                             <RecipeCard :recipe="recipe" />

+ 28 - 24
src/views/TableDesign.vue

@@ -8,10 +8,10 @@
             <div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-6">
                 <!-- 左侧: 步骤1 菜品配置 -->
                 <div class="">
-                    <div class="bg-gradient-to-r from-orange-400 to-pink-400 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                    <div class="bg-gradient-to-r from-orange-400 to-pink-400 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                         <span class="font-bold">1. 菜品配置</span>
                     </div>
-                    <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 h-full">
+                    <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 h-full">
                         <!-- 生成模式选择 - 紧凑布局 -->
                         <div class="mb-4">
                             <h3 class="text-lg font-bold text-dark-800 mb-3 flex items-center gap-2">
@@ -22,7 +22,7 @@
                                 <button
                                     @click="config.flexibleCount = false"
                                     :class="[
-                                        'px-4 py-3 rounded-lg font-bold border-2 border-black transition-all duration-200 text-left flex items-center gap-3',
+                                        'px-4 py-3 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-left flex items-center gap-3',
                                         !config.flexibleCount ? 'bg-yellow-400 text-dark-800 shadow-lg' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                     ]"
                                 >
@@ -35,7 +35,7 @@
                                 <button
                                     @click="config.flexibleCount = true"
                                     :class="[
-                                        'px-4 py-3 rounded-lg font-bold border-2 border-black transition-all duration-200 text-left flex items-center gap-3',
+                                        'px-4 py-3 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-left flex items-center gap-3',
                                         config.flexibleCount ? 'bg-yellow-400 text-dark-800 shadow-lg' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                     ]"
                                 >
@@ -62,7 +62,7 @@
                                                 :key="count"
                                                 @click="config.dishCount = count"
                                                 :class="[
-                                                    'px-3 py-1 rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm',
+                                                    'px-3 py-1 rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm',
                                                     config.dishCount === count ? 'bg-yellow-400 text-dark-800' : 'bg-white text-gray-700 hover:bg-gray-100'
                                                 ]"
                                             >
@@ -78,7 +78,7 @@
                                                 type="number"
                                                 min="1"
                                                 max="20"
-                                                class="w-14 px-2 py-1 text-center border-2 border-black rounded-lg font-bold text-sm focus:outline-none focus:ring-2 focus:ring-pink-400"
+                                                class="w-14 px-2 py-1 text-center border-2 border-[#0A0910] rounded-lg font-bold text-sm focus:outline-none focus:ring-2 focus:ring-pink-400"
                                             />
                                             <span class="text-sm text-gray-600">道</span>
                                         </div>
@@ -93,7 +93,7 @@
                                             <div
                                                 v-for="dish in config.customDishes"
                                                 :key="dish"
-                                                class="inline-flex items-center gap-1 bg-yellow-400 text-dark-800 px-2 py-1 rounded-full text-sm font-medium border-2 border-black"
+                                                class="inline-flex items-center gap-1 bg-yellow-400 text-dark-800 px-2 py-1 rounded-full text-sm font-medium border-2 border-[#0A0910]"
                                             >
                                                 {{ dish }}
                                                 <button @click="removeCustomDish(dish)" class="hover:bg-yellow-500 rounded-full p-1 transition-colors">
@@ -107,7 +107,7 @@
                                             v-model="currentCustomDish"
                                             @keyup.enter="addCustomDish"
                                             placeholder="输入菜品名称,按回车添加..."
-                                            class="w-full p-2 border-2 border-black rounded-lg text-sm font-medium focus:outline-none focus:ring-2 focus:ring-pink-400"
+                                            class="w-full p-2 border-2 border-[#0A0910] rounded-lg text-sm font-medium focus:outline-none focus:ring-2 focus:ring-pink-400"
                                         />
                                         <button
                                             @click="addCustomDish"
@@ -138,7 +138,7 @@
                                             <div
                                                 v-for="dish in config.customDishes"
                                                 :key="dish"
-                                                class="inline-flex items-center gap-1 bg-green-400 text-dark-800 px-2 py-1 rounded-full text-sm font-medium border-2 border-black"
+                                                class="inline-flex items-center gap-1 bg-green-400 text-dark-800 px-2 py-1 rounded-full text-sm font-medium border-2 border-[#0A0910]"
                                             >
                                                 {{ dish }}
                                                 <button @click="removeCustomDish(dish)" class="hover:bg-green-500 rounded-full p-1 transition-colors">
@@ -152,7 +152,7 @@
                                             v-model="currentCustomDish"
                                             @keyup.enter="addCustomDish"
                                             placeholder="输入菜品名称,按回车添加..."
-                                            class="w-full p-2 border-2 border-black rounded-lg text-sm font-medium focus:outline-none focus:ring-2 focus:ring-green-400"
+                                            class="w-full p-2 border-2 border-[#0A0910] rounded-lg text-sm font-medium focus:outline-none focus:ring-2 focus:ring-green-400"
                                         />
                                         <button
                                             @click="addCustomDish"
@@ -174,10 +174,10 @@
 
                 <!-- 右侧: 步骤2 偏好设置(可选) -->
                 <div class="mt-10">
-                    <div class="bg-gradient-to-r from-green-400 to-blue-400 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                    <div class="bg-gradient-to-r from-green-400 to-blue-400 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                         <span class="font-bold">2. 偏好设置(可选)</span>
                     </div>
-                    <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 h-full">
+                    <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 h-full">
                         <!-- 提示信息 -->
                         <div class="mb-4 p-3 bg-blue-50 border-2 border-blue-200 rounded-lg">
                             <p class="text-sm text-blue-700">
@@ -212,7 +212,7 @@
                                                     :key="taste.id"
                                                     @click="toggleTaste(taste.id)"
                                                     :class="[
-                                                        'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
+                                                        'p-2 rounded-lg border-2 border-[#0A0910] font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
                                                         config.tastes.includes(taste.id) ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                                     ]"
                                                 >
@@ -231,7 +231,7 @@
                                                     :key="style.id"
                                                     @click="config.cuisineStyle = style.id"
                                                     :class="[
-                                                        'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
+                                                        'p-2 rounded-lg border-2 border-[#0A0910] font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
                                                         config.cuisineStyle === style.id ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                                     ]"
                                                 >
@@ -250,7 +250,7 @@
                                                     :key="scene.id"
                                                     @click="config.diningScene = scene.id"
                                                     :class="[
-                                                        'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
+                                                        'p-2 rounded-lg border-2 border-[#0A0910] font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
                                                         config.diningScene === scene.id ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                                     ]"
                                                 >
@@ -287,7 +287,7 @@
                                                     :key="nutrition.id"
                                                     @click="config.nutritionFocus = nutrition.id"
                                                     :class="[
-                                                        'p-2 rounded-lg border-2 border-black font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
+                                                        'p-2 rounded-lg border-2 border-[#0A0910] font-medium text-xs transition-all duration-200 flex items-center justify-center gap-1',
                                                         config.nutritionFocus === nutrition.id ? 'bg-yellow-400 text-dark-800' : 'bg-gray-100 text-gray-700 hover:bg-gray-200'
                                                     ]"
                                                 >
@@ -303,7 +303,7 @@
                                             <textarea
                                                 v-model="config.customRequirement"
                                                 placeholder="例如:不要太油腻,适合老人小孩,有一道汤..."
-                                                class="w-full p-3 border-2 border-black rounded-lg text-sm resize-none focus:outline-none focus:ring-2 focus:ring-pink-400"
+                                                class="w-full p-3 border-2 border-[#0A0910] rounded-lg text-sm resize-none focus:outline-none focus:ring-2 focus:ring-pink-400"
                                                 rows="3"
                                                 maxlength="200"
                                             ></textarea>
@@ -337,10 +337,10 @@
 
             <!-- 步骤2: 生成一桌菜 -->
             <div class="mb-6 mt-16">
-                <div class="bg-dark-800 text-white px-4 py-2 rounded-t-lg border-2 border-black border-b-0 inline-block">
+                <div class="bg-dark-800 text-white px-4 py-2 rounded-t-lg border-2 border-[#0A0910] border-b-0 inline-block">
                     <span class="font-bold">3. 生成一桌菜</span>
                 </div>
-                <div class="bg-white border-2 border-black rounded-lg rounded-tl-none p-4 md:p-6">
+                <div class="bg-white border-2 border-[#0A0910] rounded-lg rounded-tl-none p-4 md:p-6">
                     <!-- 生成按钮区域 -->
                     <div v-if="!isGenerating && generatedDishes.length === 0" class="text-center">
                         <div class="w-16 h-16 bg-gradient-to-br from-orange-400 to-red-500 rounded-lg flex items-center justify-center mx-auto mb-4">
@@ -353,7 +353,7 @@
                             <button
                                 @click="generateTableMenuAction"
                                 :disabled="isGenerating || (config.flexibleCount && config.customDishes.length === 0)"
-                                class="bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 disabled:from-gray-400 disabled:to-gray-400 text-white px-6 py-3 rounded-lg font-bold text-base md:text-lg border-2 border-black transition-all duration-300 transform disabled:scale-100 disabled:cursor-not-allowed shadow-lg"
+                                class="bg-gradient-to-r from-orange-500 to-red-500 hover:from-orange-600 hover:to-red-600 disabled:from-gray-400 disabled:to-gray-400 text-white px-6 py-3 rounded-lg font-bold text-base md:text-lg border-2 border-[#0A0910] transition-all duration-300 transform disabled:scale-100 disabled:cursor-not-allowed shadow-lg"
                             >
                                 <span class="flex items-center gap-2 justify-center">
                                     <span class="text-xl">✨</span>
@@ -386,7 +386,7 @@
                             </h3>
                             <button
                                 @click="resetConfig"
-                                class="px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg font-bold border-2 border-black transition-all duration-200 text-sm"
+                                class="px-4 py-2 bg-gray-500 hover:bg-gray-600 text-white rounded-lg font-bold border-2 border-[#0A0910] transition-all duration-200 text-sm"
                             >
                                 🔄 重新生成
                             </button>
@@ -394,7 +394,11 @@
 
                         <!-- 菜品列表 -->
                         <div class="grid grid-cols-1 lg:grid-cols-2 gap-4">
-                            <div v-for="(dish, index) in generatedDishes" :key="index" class="border-2 border-black rounded-lg p-4 bg-white hover:bg-yellow-50 transition-colors">
+                            <div
+                                v-for="(dish, index) in generatedDishes"
+                                :key="index"
+                                class="border-2 border-[#0A0910] rounded-lg p-4 bg-white hover:bg-yellow-50 transition-colors"
+                            >
                                 <div class="flex justify-between items-start mb-2">
                                     <h4 class="font-bold text-gray-800 text-lg">{{ dish.name }}</h4>
                                     <span class="text-xs bg-pink-400 text-white px-2 py-1 rounded-full font-medium">{{ dish.category }}</span>
@@ -410,7 +414,7 @@
                                         @click="generateDishRecipeAction(dish, index)"
                                         :disabled="dish.isGeneratingRecipe"
                                         :class="[
-                                            'px-3 py-2 text-white rounded-lg text-sm font-bold border-2 border-black transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed',
+                                            'px-3 py-2 text-white rounded-lg text-sm font-bold border-2 border-[#0A0910] transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed',
                                             dish.recipe
                                                 ? 'bg-gradient-to-r from-green-500 to-emerald-500 hover:from-green-600 hover:to-emerald-600'
                                                 : 'bg-gradient-to-r from-blue-500 to-purple-500 hover:from-blue-600 hover:to-purple-600'
@@ -439,7 +443,7 @@
     <Teleport to="body">
         <div v-if="selectedRecipe" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[9999] p-4 modal-overlay" @click="closeRecipeModal">
             <div
-                class="bg-white rounded-2xl border-2 border-black shadow-2xl max-w-4xl w-full max-h-[90vh] overflow-hidden modal-content transform transition-all duration-300"
+                class="bg-white rounded-2xl border-2 border-[#0A0910] shadow-2xl max-w-4xl w-full max-h-[90vh] overflow-hidden modal-content transform transition-all duration-300"
                 @click.stop
             >
                 <!-- 弹窗头部 -->

+ 3 - 3
src/views/TodayEat.vue

@@ -6,7 +6,7 @@
         <div class="max-w-7xl mx-auto space-y-6 rounded-lg">
             <!-- 开始按钮 -->
             <div v-if="!isSelecting && selectedDishes.length === 0" class="text-center">
-                <div class="bg-white rounded-lg shadow-lg p-8 border-2 border-black">
+                <div class="bg-white rounded-lg shadow-lg p-8 border-2 border-[#0A0910]">
                     <div class="text-6xl mb-4">🎲</div>
                     <h2 class="text-2xl font-bold text-gray-800 mb-4">准备好了吗?</h2>
 
@@ -92,7 +92,7 @@
             </div>
 
             <!-- 选择结果 -->
-            <div v-if="!isSelecting && selectedDishes.length > 0" class="bg-white rounded-2xl shadow-lg p-6 border-2 border-black">
+            <div v-if="!isSelecting && selectedDishes.length > 0" class="bg-white rounded-2xl shadow-lg p-6 border-2 border-[#0A0910]">
                 <h3 class="text-xl font-bold text-gray-800 mb-6 text-center">🎉 今日推荐</h3>
 
                 <div class="grid md:grid-cols-2 gap-6 mb-6">
@@ -153,7 +153,7 @@
             </div>
 
             <!-- 菜谱结果 -->
-            <div v-if="recipe" class="bg-white rounded-2xl shadow-lg p-4 md:p-6 border-2 border-black">
+            <div v-if="recipe" class="bg-white rounded-2xl shadow-lg p-4 md:p-6 border-2 border-[#0A0910]">
                 <h3 class="text-xl font-bold text-gray-800 mb-6 text-center flex items-center justify-center gap-2">
                     <span>📖</span>
                     <span>专属菜谱</span>