diff --git a/frontend/src/App.css b/frontend/src/App.css
index d3c42df..d404dba 100644
--- a/frontend/src/App.css
+++ b/frontend/src/App.css
@@ -30,7 +30,7 @@ body {
}
.ant-btn-primary:hover {
- background: linear-gradient(135deg, #f07869 0%, #df5545 100%) !important;
+ background: linear-gradient(135deg, #3b8c86 0%, #21635f 100%) !important;
border-color: transparent !important;
}
diff --git a/frontend/src/components/AuthModal.css b/frontend/src/components/AuthModal.css
index 8b0936a..f45a83d 100644
--- a/frontend/src/components/AuthModal.css
+++ b/frontend/src/components/AuthModal.css
@@ -21,7 +21,7 @@
}
.close-icon:hover {
- color: #ff5a5a;
+ color: var(--brand);
}
.auth-modal-content {
@@ -62,7 +62,7 @@
.auth-input:hover,
.auth-input:focus,
.auth-input.ant-input-affix-wrapper-focused {
- border-color: #ff5a5a;
+ border-color: var(--brand);
box-shadow: 0 0 0 2px rgba(255, 90, 90, 0.1);
}
@@ -82,12 +82,12 @@
}
.form-options .ant-checkbox-checked .ant-checkbox-inner {
- background-color: #ff5a5a;
- border-color: #ff5a5a;
+ background-color: var(--brand);
+ border-color: var(--brand);
}
.forgot-link {
- color: #ff5a5a;
+ color: var(--brand);
font-size: 14px;
}
@@ -100,7 +100,7 @@
border-radius: 24px;
font-size: 16px;
font-weight: 500;
- background: linear-gradient(135deg, #ff5a5a 0%, #ff8080 100%);
+ background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
border: none;
box-shadow: 0 4px 12px rgba(255, 90, 90, 0.3);
transition: all 0.3s;
@@ -179,7 +179,7 @@
}
.switch-link {
- color: #ff5a5a;
+ color: var(--brand);
font-weight: 500;
margin-left: 4px;
cursor: pointer;
@@ -205,8 +205,8 @@
font-size: 14px;
white-space: nowrap;
padding: 0 16px;
- border-color: #ff5a5a;
- color: #ff5a5a;
+ border-color: var(--brand);
+ color: var(--brand);
}
.verify-btn:hover:not(:disabled) {
@@ -226,7 +226,7 @@
}
.agreement-checkbox a {
- color: #ff5a5a;
+ color: var(--brand);
}
.agreement-checkbox a:hover {
@@ -234,8 +234,8 @@
}
.agreement-checkbox .ant-checkbox-checked .ant-checkbox-inner {
- background-color: #ff5a5a;
- border-color: #ff5a5a;
+ background-color: var(--brand);
+ border-color: var(--brand);
}
/* Animation */
diff --git a/frontend/src/components/Categories.css b/frontend/src/components/Categories.css
index b8cf98b..5ffc133 100644
--- a/frontend/src/components/Categories.css
+++ b/frontend/src/components/Categories.css
@@ -30,7 +30,7 @@
padding: 7px 12px;
border-radius: 999px;
background: rgba(239, 106, 91, 0.1);
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
@@ -82,9 +82,9 @@
}
.scroll-btn.ant-btn:hover {
- color: #ef6a5b !important;
+ color: var(--brand) !important;
border-color: rgba(239, 106, 91, 0.4) !important;
- background: #fff4ef !important;
+ background: var(--brand-soft) !important;
}
.categories-scroll {
@@ -192,7 +192,7 @@
display: inline-flex;
align-items: center;
gap: 6px;
- color: #ef6a5b;
+ color: var(--brand);
font-size: 13px;
font-weight: 700;
}
diff --git a/frontend/src/components/Categories.jsx b/frontend/src/components/Categories.jsx
index 09eaf22..b46be02 100644
--- a/frontend/src/components/Categories.jsx
+++ b/frontend/src/components/Categories.jsx
@@ -21,7 +21,7 @@ const categories = [
count: '408131',
description: '促销、开业、发布会等高频营销场景素材。',
tag: '热点',
- gradient: 'linear-gradient(135deg, #ffb38a 0%, #ef6a5b 100%)',
+ gradient: 'linear-gradient(135deg, #78beb7 0%, #2f7d78 100%)',
icon: ,
},
{
diff --git a/frontend/src/components/Designers.css b/frontend/src/components/Designers.css
index 97d2c13..da07c08 100644
--- a/frontend/src/components/Designers.css
+++ b/frontend/src/components/Designers.css
@@ -25,7 +25,7 @@
padding: 7px 12px;
border-radius: 999px;
background: rgba(239, 106, 91, 0.1);
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
@@ -175,9 +175,9 @@
}
.follow-btn.ant-btn:hover {
- color: #ef6a5b !important;
+ color: var(--brand) !important;
border-color: rgba(239, 106, 91, 0.4) !important;
- background: #fff4ef !important;
+ background: var(--brand-soft) !important;
}
@media (max-width: 900px) {
diff --git a/frontend/src/components/Designers.jsx b/frontend/src/components/Designers.jsx
index d530abf..bfef545 100644
--- a/frontend/src/components/Designers.jsx
+++ b/frontend/src/components/Designers.jsx
@@ -16,7 +16,7 @@ const designers = [
];
const gradients = [
- 'linear-gradient(135deg, #ef6a5b 0%, #f4b254 100%)',
+ 'linear-gradient(135deg, #2f7d78 0%, #76bcb3 100%)',
'linear-gradient(135deg, #4a8ee8 0%, #67d0df 100%)',
'linear-gradient(135deg, #7d60c9 0%, #bd8eff 100%)',
'linear-gradient(135deg, #2f8f73 0%, #86d6b2 100%)',
diff --git a/frontend/src/components/Festival.css b/frontend/src/components/Festival.css
index 526732c..ded571f 100644
--- a/frontend/src/components/Festival.css
+++ b/frontend/src/components/Festival.css
@@ -30,7 +30,7 @@
padding: 7px 12px;
border-radius: 999px;
background: rgba(239, 106, 91, 0.1);
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
@@ -82,9 +82,9 @@
}
.festival-scroll-btn.ant-btn:hover {
- color: #ef6a5b !important;
+ color: var(--brand) !important;
border-color: rgba(239, 106, 91, 0.4) !important;
- background: #fff4ef !important;
+ background: var(--brand-soft) !important;
}
.festival-scroll {
@@ -179,7 +179,7 @@
padding: 6px 10px;
border-radius: 999px;
background: #fff3ea;
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
white-space: nowrap;
diff --git a/frontend/src/components/Footer.css b/frontend/src/components/Footer.css
index de70930..c081ed9 100644
--- a/frontend/src/components/Footer.css
+++ b/frontend/src/components/Footer.css
@@ -74,7 +74,7 @@
display: grid;
place-items: center;
background: #fff1e9;
- color: #ef6a5b;
+ color: var(--brand);
font-size: 18px;
}
@@ -126,8 +126,8 @@
.footer-link:hover {
border-color: rgba(239, 106, 91, 0.32);
- color: #ef6a5b;
- background: #fff4ef;
+ color: var(--brand);
+ background: var(--brand-soft);
}
.footer-link .anticon {
@@ -154,7 +154,7 @@
height: 52px;
border-radius: 18px;
background: linear-gradient(135deg, #fff1e9 0%, #ffe0d2 100%);
- color: #ef6a5b;
+ color: var(--brand);
display: grid;
place-items: center;
font-size: 24px;
@@ -188,7 +188,7 @@
}
.email-link {
- color: #ef6a5b;
+ color: var(--brand);
margin-left: 4px;
}
diff --git a/frontend/src/components/Footer.jsx b/frontend/src/components/Footer.jsx
index 6eafd28..898bc03 100644
--- a/frontend/src/components/Footer.jsx
+++ b/frontend/src/components/Footer.jsx
@@ -37,11 +37,11 @@ const Footer = () => {
diff --git a/frontend/src/components/Header.css b/frontend/src/components/Header.css
index f291938..13c8fe6 100644
--- a/frontend/src/components/Header.css
+++ b/frontend/src/components/Header.css
@@ -39,7 +39,7 @@
.logo-text {
font-size: 20px;
font-weight: 700;
- color: #ef6a5b;
+ color: var(--brand);
}
.logo-domain {
@@ -66,22 +66,22 @@
}
.nav-item:hover {
- color: #ef6a5b;
+ color: var(--brand);
}
.nav-new {
position: relative;
}
-.new-dot {
- position: absolute;
- top: -2px;
- right: -8px;
- width: 6px;
- height: 6px;
- background: #ff5a5a;
- border-radius: 50%;
-}
+.new-dot {
+ position: absolute;
+ top: -2px;
+ right: -8px;
+ width: 6px;
+ height: 6px;
+ background: var(--brand);
+ border-radius: 50%;
+}
.header-search {
flex: 1;
@@ -94,12 +94,12 @@
padding: 6px 16px;
}
-.header-search .ant-input-affix-wrapper:hover,
-.header-search .ant-input-affix-wrapper:focus,
-.header-search .ant-input-affix-wrapper-focused {
- border-color: #ff5a5a;
- box-shadow: none;
-}
+.header-search .ant-input-affix-wrapper:hover,
+.header-search .ant-input-affix-wrapper:focus,
+.header-search .ant-input-affix-wrapper-focused {
+ border-color: var(--brand);
+ box-shadow: none;
+}
.header-right {
display: flex;
@@ -108,19 +108,18 @@
flex-shrink: 0;
}
-.btn-invite {
- background: #ff5a5a;
- background: linear-gradient(135deg, #ef6a5b 0%, #d84e3f 100%);
- border-color: #ff5a5a;
+.btn-invite {
+ background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
+ border-color: var(--brand);
border-radius: 20px;
padding: 4px 20px;
- height: 36px;
-}
+ height: 36px;
+}
-.btn-invite:hover {
- background: #ff7070 !important;
- border-color: #ff7070 !important;
-}
+.btn-invite:hover {
+ background: linear-gradient(135deg, #3b8c86 0%, #21635f 100%) !important;
+ border-color: var(--brand) !important;
+}
.btn-register {
border-radius: 20px;
@@ -132,8 +131,8 @@
}
.btn-register:hover {
- border-color: #ef6a5b !important;
- color: #ef6a5b !important;
+ border-color: var(--brand) !important;
+ color: var(--brand) !important;
}
.btn-login {
@@ -146,8 +145,8 @@
}
.btn-login:hover {
- border-color: #ef6a5b !important;
- color: #ef6a5b !important;
+ border-color: var(--brand) !important;
+ color: var(--brand) !important;
}
@media (max-width: 1024px) {
diff --git a/frontend/src/components/Header.jsx b/frontend/src/components/Header.jsx
index 763a510..a69ab89 100644
--- a/frontend/src/components/Header.jsx
+++ b/frontend/src/components/Header.jsx
@@ -82,8 +82,8 @@ const Header = () => {
图汇
DESIGN006.COM
diff --git a/frontend/src/components/Hero.css b/frontend/src/components/Hero.css
index 126958f..8a426b2 100644
--- a/frontend/src/components/Hero.css
+++ b/frontend/src/components/Hero.css
@@ -69,7 +69,7 @@
.hero-title span {
display: block;
- color: #ef6a5b;
+ color: var(--brand);
}
.hero-description {
@@ -129,7 +129,7 @@
padding: 0 22px;
border-radius: 999px;
border: none;
- background: linear-gradient(135deg, #ef6a5b 0%, #d84e3f 100%);
+ background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
box-shadow: 0 14px 30px rgba(216, 78, 63, 0.26);
font-weight: 700;
}
@@ -149,7 +149,7 @@
}
.hero-secondary-btn.ant-btn:hover {
- color: #ef6a5b !important;
+ color: var(--brand) !important;
border-color: rgba(239, 106, 91, 0.45) !important;
}
@@ -178,9 +178,9 @@
}
.hero-tag.ant-tag:hover {
- color: #ef6a5b;
+ color: var(--brand);
border-color: rgba(239, 106, 91, 0.45);
- background: #fff4ef;
+ background: var(--brand-soft);
}
.hero-stats {
@@ -253,7 +253,7 @@
.hero-stage-label {
background: rgba(239, 106, 91, 0.12);
- color: #d84e3f;
+ color: var(--brand-strong);
}
.hero-stage-badge {
diff --git a/frontend/src/components/Works.css b/frontend/src/components/Works.css
index 4e10431..919f196 100644
--- a/frontend/src/components/Works.css
+++ b/frontend/src/components/Works.css
@@ -32,7 +32,7 @@
padding: 7px 12px;
border-radius: 999px;
background: rgba(239, 106, 91, 0.1);
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
@@ -70,8 +70,8 @@
}
.section-pill-accent {
- background: linear-gradient(135deg, #fff0e7 0%, #ffe1d7 100%);
- color: #d84e3f;
+ background: linear-gradient(135deg, #e7f5f2 0%, #d8eeea 100%);
+ color: var(--brand-strong);
}
.works-grid {
@@ -160,7 +160,7 @@
border-radius: 999px;
background: rgba(255, 250, 244, 0.92);
border: 1px solid rgba(233, 218, 207, 0.92);
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 14px;
font-weight: 700;
backdrop-filter: blur(10px);
@@ -246,7 +246,7 @@
}
.work-price {
- color: #db5748;
+ color: var(--brand);
font-size: 24px;
font-weight: 800;
line-height: 1;
@@ -262,11 +262,11 @@
}
.work-card:hover .work-cta {
- color: #ef6a5b;
+ color: var(--brand);
}
.works-section .ant-spin {
- color: #ef6a5b;
+ color: var(--brand);
}
.works-section .ant-spin-text {
diff --git a/frontend/src/index.css b/frontend/src/index.css
index 2215892..76c93e4 100644
--- a/frontend/src/index.css
+++ b/frontend/src/index.css
@@ -1,7 +1,7 @@
:root {
- --brand: #ef6a5b;
- --brand-strong: #d84e3f;
- --brand-soft: #fff0e7;
+ --brand: #2f7d78;
+ --brand-strong: #1d5a57;
+ --brand-soft: #e5f4f1;
--ink: #241d17;
--text: #5f5449;
--muted: #8c8073;
@@ -27,9 +27,9 @@ body {
line-height: 1.6;
color: var(--ink);
background:
- radial-gradient(circle at top left, rgba(239, 106, 91, 0.08), transparent 22%),
- radial-gradient(circle at top right, rgba(244, 178, 84, 0.1), transparent 20%),
- linear-gradient(180deg, #fffdf9 0%, #f8f2eb 100%);
+ radial-gradient(circle at top left, rgba(47, 125, 120, 0.12), transparent 22%),
+ radial-gradient(circle at top right, rgba(115, 170, 193, 0.14), transparent 20%),
+ linear-gradient(180deg, #f7fcfb 0%, #edf5f4 100%);
min-height: 100vh;
}
@@ -48,12 +48,12 @@ a {
}
::-webkit-scrollbar-thumb {
- background: linear-gradient(180deg, #ef6a5b 0%, #d84e3f 100%);
+ background: linear-gradient(180deg, #2f7d78 0%, #1d5a57 100%);
border-radius: 999px;
}
::-webkit-scrollbar-thumb:hover {
- background: linear-gradient(180deg, #e06152 0%, #cb4638 100%);
+ background: linear-gradient(180deg, #2a726d 0%, #174d4a 100%);
}
@keyframes fadeIn {
diff --git a/frontend/src/pages/CategoryDetail.jsx b/frontend/src/pages/CategoryDetail.jsx
index 8a1c7a6..594a638 100644
--- a/frontend/src/pages/CategoryDetail.jsx
+++ b/frontend/src/pages/CategoryDetail.jsx
@@ -38,7 +38,7 @@ const CategoryDetail = () => {
},
活动: {
count: '408131',
- gradient: 'linear-gradient(135deg, #ffb38a 0%, #ef6a5b 100%)',
+ gradient: 'linear-gradient(135deg, #78beb7 0%, #2f7d78 100%)',
description: '最适合首页承接的热门分类之一,覆盖促销、开业和节点营销素材。',
},
医美: {
diff --git a/frontend/src/pages/Help.css b/frontend/src/pages/Help.css
index 0d647f0..41303d4 100644
--- a/frontend/src/pages/Help.css
+++ b/frontend/src/pages/Help.css
@@ -57,7 +57,7 @@
display: inline-block;
width: 4px;
height: 14px;
- background: #ff5a5a;
+ background: var(--brand);
margin-right: 8px;
vertical-align: middle;
}
@@ -106,7 +106,7 @@
.highlight-box {
background: #fff5f5;
- border-left: 4px solid #ff5a5a;
+ border-left: 4px solid var(--brand);
padding: 20px;
margin: 24px 0;
border-radius: 8px;
@@ -115,7 +115,7 @@
.highlight-box h3 {
font-size: 16px;
font-weight: 600;
- color: #ff5a5a;
+ color: var(--brand);
margin-bottom: 12px;
}
diff --git a/frontend/src/pages/Help.jsx b/frontend/src/pages/Help.jsx
index a309448..eaeb342 100644
--- a/frontend/src/pages/Help.jsx
+++ b/frontend/src/pages/Help.jsx
@@ -107,7 +107,7 @@ const Help = () => {
-
+
帮助中心
diff --git a/frontend/src/pages/Protocol.css b/frontend/src/pages/Protocol.css
index 0398c2b..9e3fd4b 100644
--- a/frontend/src/pages/Protocol.css
+++ b/frontend/src/pages/Protocol.css
@@ -50,12 +50,12 @@
}
.protocol-sidebar a:hover {
- color: #ff5a5a;
+ color: var(--brand);
background: #fff5f5;
}
.protocol-sidebar a.active {
- color: #ff5a5a;
+ color: var(--brand);
background: #fff5f5;
font-weight: 500;
}
@@ -74,7 +74,7 @@
color: #333;
margin-bottom: 24px;
padding-bottom: 16px;
- border-bottom: 2px solid #ff5a5a;
+ border-bottom: 2px solid var(--brand);
}
.protocol-content h2 {
@@ -119,7 +119,7 @@
border-radius: 4px;
font-family: 'Courier New', monospace;
font-size: 13px;
- color: #ff5a5a;
+ color: var(--brand);
}
.level-table {
diff --git a/frontend/src/pages/WorkDetail.css b/frontend/src/pages/WorkDetail.css
index 83efbbb..eea82b5 100644
--- a/frontend/src/pages/WorkDetail.css
+++ b/frontend/src/pages/WorkDetail.css
@@ -33,7 +33,7 @@
}
.breadcrumb a:hover {
- color: #ef6a5b;
+ color: var(--brand);
}
.breadcrumb .current {
@@ -64,7 +64,7 @@
padding: 8px 12px;
border-radius: 999px;
background: rgba(239, 106, 91, 0.1);
- color: #d84e3f;
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
@@ -149,8 +149,8 @@
.preview-badge {
padding: 8px 12px;
border-radius: 999px;
- background: #fff0e7;
- color: #d84e3f;
+ background: var(--brand-soft);
+ color: var(--brand-strong);
font-size: 12px;
font-weight: 700;
}
@@ -203,7 +203,7 @@
}
.preview-benefit .anticon {
- color: #ef6a5b;
+ color: var(--brand);
font-size: 16px;
margin-top: 2px;
}
@@ -322,7 +322,7 @@
}
.designer-level {
- color: #ef6a5b;
+ color: var(--brand);
margin-right: 4px;
}
@@ -376,7 +376,7 @@
}
.price-value {
- color: #da5748;
+ color: var(--brand);
font-size: 40px;
line-height: 1;
font-weight: 800;
@@ -410,7 +410,7 @@
}
.info-value.highlight {
- color: #db5748;
+ color: var(--brand);
}
.work-actions {
@@ -424,7 +424,7 @@
height: 50px;
border: none;
border-radius: 18px;
- background: linear-gradient(135deg, #ef6a5b 0%, #d84e3f 100%);
+ background: linear-gradient(135deg, var(--brand) 0%, var(--brand-strong) 100%);
box-shadow: 0 16px 30px rgba(216, 78, 63, 0.24);
font-weight: 700;
}
@@ -440,7 +440,7 @@
.icon-btn.ant-btn:hover,
.icon-btn.ant-btn.collected {
- color: #ef6a5b;
+ color: var(--brand);
border-color: rgba(239, 106, 91, 0.4);
}
@@ -484,7 +484,7 @@
.designer-level-badge {
padding: 4px 10px;
border-radius: 999px;
- background: #ef6a5b;
+ background: var(--brand);
color: #fff;
font-size: 12px;
font-weight: 700;
@@ -572,7 +572,7 @@
}
.stat-row .anticon {
- color: #ef6a5b;
+ color: var(--brand);
}
@media (max-width: 1200px) {
diff --git a/frontend/src/pages/WorkDetail.jsx b/frontend/src/pages/WorkDetail.jsx
index 92c273d..633b3ea 100644
--- a/frontend/src/pages/WorkDetail.jsx
+++ b/frontend/src/pages/WorkDetail.jsx
@@ -522,7 +522,7 @@ const WorkDetail = () => {
作品:{workData.title}
价格:
-
+
¥{workData.price}
@@ -542,7 +542,7 @@ const WorkDetail = () => {
- 订单金额:¥{workData.price}
+ 订单金额:¥{workData.price}
请使用微信或支付宝扫码支付
{checkingPayment && (