391 lines
9.4 KiB
Plaintext
391 lines
9.4 KiB
Plaintext
|
|
/**
|
||
|
|
* 黑金主题配置 - 高端奢华风格
|
||
|
|
* 风格:奢华、高端、精致
|
||
|
|
*/
|
||
|
|
|
||
|
|
/* ==================== 颜色变量 ==================== */
|
||
|
|
|
||
|
|
:root {
|
||
|
|
/* 主品牌色 - 金色 */
|
||
|
|
--primary-gold: #D4AF37;
|
||
|
|
--primary-gold-light: #F4E6C3;
|
||
|
|
--primary-gold-dark: #B8941F;
|
||
|
|
--primary-gold-deep: #9A7B1A;
|
||
|
|
|
||
|
|
/* 辅助色 - 银色 */
|
||
|
|
--secondary-silver: #C0C0C0;
|
||
|
|
--secondary-silver-light: #E5E5E5;
|
||
|
|
--accent-platinum: #E5E4E2;
|
||
|
|
|
||
|
|
/* 背景色系 - 黑色系 */
|
||
|
|
--bg-black: #000000;
|
||
|
|
--bg-dark: #0A0A0A;
|
||
|
|
--bg-darker: #121212;
|
||
|
|
--bg-card: #1A1A1A;
|
||
|
|
--bg-card-hover: #222222;
|
||
|
|
--bg-secondary: #252525;
|
||
|
|
|
||
|
|
/* 文字色系 */
|
||
|
|
--text-primary: #FFFFFF;
|
||
|
|
--text-secondary: #E0E0E0;
|
||
|
|
--text-tertiary: #B0B0B0;
|
||
|
|
--text-disabled: #606060;
|
||
|
|
--text-gold: #D4AF37;
|
||
|
|
|
||
|
|
/* 状态色 */
|
||
|
|
--success: #50C878;
|
||
|
|
--warning: #FFD700;
|
||
|
|
--error: #DC143C;
|
||
|
|
--info: #4682B4;
|
||
|
|
|
||
|
|
/* 边框色 */
|
||
|
|
--border-dark: #2A2A2A;
|
||
|
|
--border-medium: #3A3A3A;
|
||
|
|
--border-light: #4A4A4A;
|
||
|
|
--border-gold: rgba(212, 175, 55, 0.3);
|
||
|
|
|
||
|
|
/* 阴影 */
|
||
|
|
--shadow-sm: 0 2rpx 8rpx rgba(0, 0, 0, 0.6);
|
||
|
|
--shadow-md: 0 4rpx 16rpx rgba(0, 0, 0, 0.7);
|
||
|
|
--shadow-lg: 0 8rpx 32rpx rgba(0, 0, 0, 0.8);
|
||
|
|
--shadow-gold: 0 4rpx 20rpx rgba(212, 175, 55, 0.4);
|
||
|
|
--shadow-gold-lg: 0 8rpx 32rpx rgba(212, 175, 55, 0.5);
|
||
|
|
|
||
|
|
/* 发光效果 */
|
||
|
|
--glow-gold: 0 0 20rpx rgba(212, 175, 55, 0.6),
|
||
|
|
0 0 40rpx rgba(212, 175, 55, 0.4),
|
||
|
|
0 0 60rpx rgba(212, 175, 55, 0.2);
|
||
|
|
|
||
|
|
/* 圆角 */
|
||
|
|
--radius-sm: 8rpx;
|
||
|
|
--radius-md: 12rpx;
|
||
|
|
--radius-lg: 16rpx;
|
||
|
|
--radius-xl: 20rpx;
|
||
|
|
--radius-full: 9999rpx;
|
||
|
|
|
||
|
|
/* 间距 */
|
||
|
|
--space-xs: 8rpx;
|
||
|
|
--space-sm: 12rpx;
|
||
|
|
--space-md: 16rpx;
|
||
|
|
--space-lg: 24rpx;
|
||
|
|
--space-xl: 32rpx;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 渐变定义 ==================== */
|
||
|
|
|
||
|
|
.gradient-gold {
|
||
|
|
background: linear-gradient(135deg, #D4AF37 0%, #F4E6C3 50%, #D4AF37 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.gradient-gold-vertical {
|
||
|
|
background: linear-gradient(180deg, #D4AF37 0%, #B8941F 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.gradient-dark {
|
||
|
|
background: linear-gradient(180deg, #000000 0%, #1A1A1A 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.gradient-dark-card {
|
||
|
|
background: linear-gradient(135deg, #1A1A1A 0%, #252525 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
.gradient-silver {
|
||
|
|
background: linear-gradient(135deg, #C0C0C0 0%, #E5E5E5 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 金属质感渐变 */
|
||
|
|
.gradient-metallic-gold {
|
||
|
|
background: linear-gradient(135deg,
|
||
|
|
#B8941F 0%,
|
||
|
|
#D4AF37 25%,
|
||
|
|
#F4E6C3 50%,
|
||
|
|
#D4AF37 75%,
|
||
|
|
#B8941F 100%
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 文字颜色类 ==================== */
|
||
|
|
|
||
|
|
.text-primary { color: var(--text-primary); }
|
||
|
|
.text-secondary { color: var(--text-secondary); }
|
||
|
|
.text-tertiary { color: var(--text-tertiary); }
|
||
|
|
.text-disabled { color: var(--text-disabled); }
|
||
|
|
.text-gold { color: var(--primary-gold); }
|
||
|
|
|
||
|
|
/* 金色渐变文字 */
|
||
|
|
.text-gradient-gold {
|
||
|
|
background: linear-gradient(135deg, #D4AF37 0%, #F4E6C3 50%, #D4AF37 100%);
|
||
|
|
-webkit-background-clip: text;
|
||
|
|
-webkit-text-fill-color: transparent;
|
||
|
|
}
|
||
|
|
|
||
|
|
.text-success { color: var(--success); }
|
||
|
|
.text-warning { color: var(--warning); }
|
||
|
|
.text-error { color: var(--error); }
|
||
|
|
|
||
|
|
/* ==================== 背景颜色类 ==================== */
|
||
|
|
|
||
|
|
.bg-black { background-color: var(--bg-black); }
|
||
|
|
.bg-dark { background-color: var(--bg-dark); }
|
||
|
|
.bg-darker { background-color: var(--bg-darker); }
|
||
|
|
.bg-card { background-color: var(--bg-card); }
|
||
|
|
.bg-secondary { background-color: var(--bg-secondary); }
|
||
|
|
|
||
|
|
/* ==================== 阴影类 ==================== */
|
||
|
|
|
||
|
|
.shadow-sm { box-shadow: var(--shadow-sm); }
|
||
|
|
.shadow-md { box-shadow: var(--shadow-md); }
|
||
|
|
.shadow-lg { box-shadow: var(--shadow-lg); }
|
||
|
|
.shadow-gold { box-shadow: var(--shadow-gold); }
|
||
|
|
.shadow-gold-lg { box-shadow: var(--shadow-gold-lg); }
|
||
|
|
|
||
|
|
/* ==================== 边框类 ==================== */
|
||
|
|
|
||
|
|
.border-dark { border: 1rpx solid var(--border-dark); }
|
||
|
|
.border-medium { border: 1rpx solid var(--border-medium); }
|
||
|
|
.border-light { border: 1rpx solid var(--border-light); }
|
||
|
|
.border-gold { border: 1rpx solid var(--primary-gold); }
|
||
|
|
|
||
|
|
/* 金色渐变边框 */
|
||
|
|
.border-gradient-gold {
|
||
|
|
position: relative;
|
||
|
|
background: var(--bg-card);
|
||
|
|
border-radius: var(--radius-lg);
|
||
|
|
}
|
||
|
|
|
||
|
|
.border-gradient-gold::before {
|
||
|
|
content: '';
|
||
|
|
position: absolute;
|
||
|
|
inset: 0;
|
||
|
|
padding: 2rpx;
|
||
|
|
border-radius: var(--radius-lg);
|
||
|
|
background: linear-gradient(135deg, #D4AF37 0%, #F4E6C3 50%, #D4AF37 100%);
|
||
|
|
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
||
|
|
-webkit-mask-composite: xor;
|
||
|
|
mask-composite: exclude;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 按钮样式 ==================== */
|
||
|
|
|
||
|
|
.btn-luxury {
|
||
|
|
border-radius: var(--radius-md);
|
||
|
|
font-weight: 600;
|
||
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||
|
|
position: relative;
|
||
|
|
overflow: hidden;
|
||
|
|
}
|
||
|
|
|
||
|
|
.btn-luxury::before {
|
||
|
|
content: '';
|
||
|
|
position: absolute;
|
||
|
|
top: -50%;
|
||
|
|
left: -50%;
|
||
|
|
width: 200%;
|
||
|
|
height: 200%;
|
||
|
|
background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 70%);
|
||
|
|
opacity: 0;
|
||
|
|
transition: opacity 0.3s ease;
|
||
|
|
}
|
||
|
|
|
||
|
|
.btn-luxury:active::before {
|
||
|
|
opacity: 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 卡片样式 ==================== */
|
||
|
|
|
||
|
|
.card-luxury {
|
||
|
|
background: var(--bg-card);
|
||
|
|
border-radius: var(--radius-lg);
|
||
|
|
box-shadow: var(--shadow-md);
|
||
|
|
border: 1rpx solid var(--border-dark);
|
||
|
|
overflow: hidden;
|
||
|
|
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
||
|
|
}
|
||
|
|
|
||
|
|
.card-luxury:active {
|
||
|
|
background: var(--bg-card-hover);
|
||
|
|
box-shadow: var(--shadow-lg);
|
||
|
|
transform: translateY(-2rpx);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 金色装饰卡片 */
|
||
|
|
.card-gold-accent {
|
||
|
|
position: relative;
|
||
|
|
}
|
||
|
|
|
||
|
|
.card-gold-accent::before {
|
||
|
|
content: '';
|
||
|
|
position: absolute;
|
||
|
|
top: 0;
|
||
|
|
left: 0;
|
||
|
|
right: 0;
|
||
|
|
height: 3rpx;
|
||
|
|
background: linear-gradient(90deg, transparent 0%, #D4AF37 50%, transparent 100%);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 徽章样式 ==================== */
|
||
|
|
|
||
|
|
.badge-luxury {
|
||
|
|
display: inline-flex;
|
||
|
|
align-items: center;
|
||
|
|
padding: 6rpx 16rpx;
|
||
|
|
border-radius: var(--radius-full);
|
||
|
|
font-size: 20rpx;
|
||
|
|
font-weight: 600;
|
||
|
|
border: 1rpx solid;
|
||
|
|
}
|
||
|
|
|
||
|
|
.badge-gold {
|
||
|
|
background: linear-gradient(135deg, rgba(212, 175, 55, 0.15) 0%, rgba(244, 230, 195, 0.2) 100%);
|
||
|
|
color: var(--primary-gold);
|
||
|
|
border-color: var(--primary-gold);
|
||
|
|
}
|
||
|
|
|
||
|
|
.badge-silver {
|
||
|
|
background: rgba(192, 192, 192, 0.15);
|
||
|
|
color: var(--secondary-silver);
|
||
|
|
border-color: var(--secondary-silver);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 特殊效果 ==================== */
|
||
|
|
|
||
|
|
/* 金属质感 */
|
||
|
|
.metallic-gold {
|
||
|
|
background: linear-gradient(135deg,
|
||
|
|
#9A7B1A 0%,
|
||
|
|
#B8941F 20%,
|
||
|
|
#D4AF37 40%,
|
||
|
|
#F4E6C3 50%,
|
||
|
|
#D4AF37 60%,
|
||
|
|
#B8941F 80%,
|
||
|
|
#9A7B1A 100%
|
||
|
|
);
|
||
|
|
background-size: 200% 200%;
|
||
|
|
animation: shimmer 3s linear infinite;
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes shimmer {
|
||
|
|
0% { background-position: 0% 0%; }
|
||
|
|
50% { background-position: 100% 100%; }
|
||
|
|
100% { background-position: 0% 0%; }
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 发光效果 */
|
||
|
|
.glow-gold {
|
||
|
|
box-shadow: var(--glow-gold);
|
||
|
|
}
|
||
|
|
|
||
|
|
.glow-gold-hover:active {
|
||
|
|
box-shadow: var(--glow-gold);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 玻璃态效果 - 深色版 */
|
||
|
|
.glass-dark {
|
||
|
|
background: rgba(26, 26, 26, 0.8);
|
||
|
|
backdrop-filter: blur(20rpx) saturate(180%);
|
||
|
|
-webkit-backdrop-filter: blur(20rpx) saturate(180%);
|
||
|
|
border: 1rpx solid rgba(255, 255, 255, 0.1);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* 划线装饰 */
|
||
|
|
.divider-gold {
|
||
|
|
height: 2rpx;
|
||
|
|
background: linear-gradient(90deg,
|
||
|
|
transparent 0%,
|
||
|
|
var(--primary-gold) 20%,
|
||
|
|
var(--primary-gold) 80%,
|
||
|
|
transparent 100%
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
/* ==================== 动画效果 ==================== */
|
||
|
|
|
||
|
|
@keyframes fadeInDark {
|
||
|
|
from {
|
||
|
|
opacity: 0;
|
||
|
|
transform: translateY(20rpx);
|
||
|
|
}
|
||
|
|
to {
|
||
|
|
opacity: 1;
|
||
|
|
transform: translateY(0);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes slideInGold {
|
||
|
|
from {
|
||
|
|
opacity: 0;
|
||
|
|
transform: translateX(-40rpx);
|
||
|
|
}
|
||
|
|
to {
|
||
|
|
opacity: 1;
|
||
|
|
transform: translateX(0);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
@keyframes glowPulse {
|
||
|
|
0%, 100% {
|
||
|
|
box-shadow: 0 0 20rpx rgba(212, 175, 55, 0.4);
|
||
|
|
}
|
||
|
|
50% {
|
||
|
|
box-shadow: 0 0 40rpx rgba(212, 175, 55, 0.8);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
.animate-fade-in { animation: fadeInDark 0.4s ease-out; }
|
||
|
|
.animate-slide-in { animation: slideInGold 0.5s ease-out; }
|
||
|
|
.animate-glow { animation: glowPulse 2s ease-in-out infinite; }
|
||
|
|
|
||
|
|
/* ==================== 响应式字体 ==================== */
|
||
|
|
|
||
|
|
.text-xs { font-size: 20rpx; line-height: 1.4; }
|
||
|
|
.text-sm { font-size: 24rpx; line-height: 1.5; }
|
||
|
|
.text-base { font-size: 28rpx; line-height: 1.5; }
|
||
|
|
.text-lg { font-size: 32rpx; line-height: 1.4; }
|
||
|
|
.text-xl { font-size: 36rpx; line-height: 1.3; }
|
||
|
|
.text-2xl { font-size: 40rpx; line-height: 1.2; }
|
||
|
|
.text-3xl { font-size: 48rpx; line-height: 1.1; }
|
||
|
|
|
||
|
|
.font-light { font-weight: 300; }
|
||
|
|
.font-normal { font-weight: 400; }
|
||
|
|
.font-medium { font-weight: 500; }
|
||
|
|
.font-semibold { font-weight: 600; }
|
||
|
|
.font-bold { font-weight: 700; }
|
||
|
|
|
||
|
|
/* ==================== 实用工具类 ==================== */
|
||
|
|
|
||
|
|
.rounded-sm { border-radius: var(--radius-sm); }
|
||
|
|
.rounded-md { border-radius: var(--radius-md); }
|
||
|
|
.rounded-lg { border-radius: var(--radius-lg); }
|
||
|
|
.rounded-xl { border-radius: var(--radius-xl); }
|
||
|
|
.rounded-full { border-radius: var(--radius-full); }
|
||
|
|
|
||
|
|
.overflow-hidden { overflow: hidden; }
|
||
|
|
.text-center { text-align: center; }
|
||
|
|
.text-left { text-align: left; }
|
||
|
|
.text-right { text-align: right; }
|
||
|
|
|
||
|
|
.flex { display: flex; }
|
||
|
|
.flex-col { flex-direction: column; }
|
||
|
|
.items-center { align-items: center; }
|
||
|
|
.items-start { align-items: flex-start; }
|
||
|
|
.justify-center { justify-content: center; }
|
||
|
|
.justify-between { justify-content: space-between; }
|
||
|
|
.flex-1 { flex: 1; }
|
||
|
|
|
||
|
|
.gap-xs { gap: var(--space-xs); }
|
||
|
|
.gap-sm { gap: var(--space-sm); }
|
||
|
|
.gap-md { gap: var(--space-md); }
|
||
|
|
.gap-lg { gap: var(--space-lg); }
|
||
|
|
|
||
|
|
.w-full { width: 100%; }
|
||
|
|
.h-full { height: 100%; }
|
||
|
|
|
||
|
|
.relative { position: relative; }
|
||
|
|
.absolute { position: absolute; }
|
||
|
|
.fixed { position: fixed; }
|
||
|
|
|
||
|
|
.z-10 { z-index: 10; }
|
||
|
|
.z-50 { z-index: 50; }
|
||
|
|
.z-100 { z-index: 100; }
|
||
|
|
.z-999 { z-index: 999; }
|