page { background: #f2ece4; } .container { min-height: 100vh; background: #f2ece4; padding-bottom: 140rpx; } /* ======== Banner ======== */ .banner { position: relative; background: linear-gradient(160deg, #5c2a0e 0%, #8B4513 40%, #a0521a 70%, #7a3610 100%); padding: 70rpx 40rpx 60rpx; overflow: hidden; } /* 装饰圆点 */ .banner-deco { position: absolute; border-radius: 50%; opacity: 0.12; background: #fff; } .deco-tl { width: 280rpx; height: 280rpx; top: -100rpx; left: -80rpx; } .deco-tr { width: 180rpx; height: 180rpx; top: -60rpx; right: -40rpx; } .deco-bl { width: 240rpx; height: 240rpx; bottom: -120rpx; left: 30rpx; } .banner-content { position: relative; display: flex; flex-direction: column; align-items: center; } .banner-subtitle { font-size: 26rpx; color: rgba(255,220,160,0.85); letter-spacing: 8rpx; margin-bottom: 16rpx; } .banner-title-row { display: flex; align-items: center; gap: 20rpx; margin-bottom: 18rpx; } .banner-line { width: 60rpx; height: 2rpx; background: rgba(255,220,160,0.6); } .banner-title { font-size: 64rpx; font-weight: 800; color: #fff; letter-spacing: 6rpx; text-shadow: 0 4rpx 12rpx rgba(0,0,0,0.3); } .banner-motto { display: flex; align-items: center; gap: 12rpx; margin-bottom: 48rpx; } .banner-dot { font-size: 24rpx; color: rgba(255,210,130,0.7); } .motto-text { font-size: 26rpx; color: rgba(255,230,180,0.9); letter-spacing: 4rpx; } /* 统计栏 */ .banner-stats { display: flex; align-items: center; background: rgba(0,0,0,0.2); border-radius: 50rpx; padding: 16rpx 48rpx; gap: 40rpx; } .stat-item { display: flex; flex-direction: column; align-items: center; } .stat-num { font-size: 32rpx; font-weight: 700; color: #ffd280; } .stat-label { font-size: 20rpx; color: rgba(255,230,180,0.7); margin-top: 4rpx; } .stat-sep { width: 1rpx; height: 48rpx; background: rgba(255,255,255,0.2); } /* ======== Section wrapper ======== */ .section-wrap { padding: 40rpx 30rpx 0; } .section-label { display: flex; align-items: center; gap: 16rpx; margin-bottom: 24rpx; } .label-line { flex: 1; height: 1rpx; background: linear-gradient(90deg, transparent, #c8a882); } .label-line:last-child { background: linear-gradient(90deg, #c8a882, transparent); } .label-text { font-size: 28rpx; font-weight: 700; color: #7a4510; letter-spacing: 4rpx; white-space: nowrap; } /* ======== Function Grid ======== */ .function-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20rpx; margin-bottom: 16rpx; } .function-card { background: #fff; border-radius: 24rpx; padding: 36rpx 24rpx 28rpx; display: flex; flex-direction: column; align-items: center; box-shadow: 0 4rpx 20rpx rgba(139,69,19,0.08); border: 1rpx solid rgba(200,168,130,0.25); } .function-card:active { opacity: 0.85; transform: scale(0.97); } .func-icon-wrap { width: 96rpx; height: 96rpx; border-radius: 28rpx; display: flex; align-items: center; justify-content: center; margin-bottom: 20rpx; box-shadow: 0 6rpx 16rpx rgba(0,0,0,0.15); } .func-emoji { font-size: 44rpx; } .func-title { font-size: 30rpx; font-weight: 700; color: #2c1a08; margin-bottom: 8rpx; } .func-desc { font-size: 22rpx; color: #b08060; } /* ======== Committee Card ======== */ .committee-card { background: linear-gradient(160deg, #0e1c2f 0%, #172a44 60%, #0c1a2c 100%); border-radius: 24rpx; overflow: hidden; box-shadow: 0 8rpx 32rpx rgba(0,0,0,0.2); border: 1rpx solid rgba(100,150,220,0.15); margin-bottom: 16rpx; } .committee-row { display: flex; align-items: center; padding: 30rpx 32rpx; gap: 24rpx; } .c-row-top { align-items: flex-start; } .c-divider { height: 1rpx; background: rgba(255,255,255,0.06); margin: 0 32rpx; } .c-icon-wrap { width: 68rpx; height: 68rpx; border-radius: 18rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .c-icon { font-size: 28rpx; color: #fff; } .icon-gold { background: linear-gradient(135deg, #b07800, #e0a800); } .icon-blue { background: linear-gradient(135deg, #1755a8, #2878d8); } .icon-green { background: linear-gradient(135deg, #0f6e40, #18a862); } .icon-purple { background: linear-gradient(135deg, #5a2ea8, #8855d8); } .icon-cyan { background: linear-gradient(135deg, #0a6880, #12a0c0); } .c-body { flex: 1; min-width: 0; } .c-role { display: block; font-size: 22rpx; color: rgba(160,195,240,0.6); letter-spacing: 2rpx; margin-bottom: 10rpx; } .c-name { font-size: 32rpx; font-weight: 600; color: #e8eef8; } .c-name-long { font-size: 26rpx; line-height: 1.6; color: #c8d8f0; } .member-tags { display: flex; flex-wrap: wrap; gap: 12rpx; margin-top: 2rpx; } .member-tag { font-size: 24rpx; color: #90c0f0; background: rgba(40,120,216,0.18); border: 1rpx solid rgba(40,120,216,0.4); border-radius: 30rpx; padding: 6rpx 20rpx; } .member-tag-more { font-size: 24rpx; color: rgba(160,195,240,0.4); padding: 6rpx 8rpx; align-self: center; } /* ======== Footer ======== */ .footer { text-align: center; padding: 40rpx 30rpx 20rpx; } .footer-deco { display: flex; align-items: center; gap: 16rpx; margin-bottom: 16rpx; } .footer-line { flex: 1; height: 1rpx; background: rgba(180,140,90,0.3); } .footer-icon { font-size: 20rpx; color: rgba(180,140,90,0.5); } .copyright { font-size: 22rpx; color: #b8926a; letter-spacing: 1rpx; }