kydc/me/me.wxss
2026-05-12 20:27:47 +08:00

545 lines
9.2 KiB
Plaintext

page {
background: #0c0e12;
color: #f6f6fc
}
.page {
min-height: 100vh;
background: #0c0e12;
box-sizing: border-box;
overflow-x: hidden
}
.content {
height: calc(100vh - 120rpx);
padding: 96rpx 40rpx 180rpx;
box-sizing: border-box
}
.empty-state {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80rpx 32rpx 64rpx;
text-align: center
}
.empty-state.small {
padding-top: 24rpx;
padding-bottom: 28rpx
}
.empty-title {
display: block;
font-size: 36rpx;
font-weight: 800;
line-height: 1.2;
margin-bottom: 8rpx;
color: #f6f6fc
}
.empty-subtitle {
display: block;
font-size: 24rpx;
line-height: 1.6;
color: #aaabb0
}
.error-banner {
display: flex;
flex-direction: column;
align-items: center;
gap: 20rpx;
padding: 32rpx 28rpx;
border: 1rpx solid rgba(255, 255, 255, .08);
border-radius: 32rpx;
background: rgba(23, 26, 31, .6);
backdrop-filter: blur(24rpx);
margin-bottom: 32rpx
}
.error-text {
color: #ff6e84;
font-size: 24rpx;
text-align: center
}
.secondary-btn {
border: none;
background: #23262c;
color: #f6f6fc;
border-radius: 9999rpx;
padding: 0 28rpx;
line-height: 72rpx;
font-size: 24rpx
}
.error-btn {
min-width: 200rpx
}
.hero-section {
display: flex;
align-items: center;
gap: 28rpx;
margin-bottom: 48rpx
}
.hero-avatar-wrap {
padding: 2rpx;
border-radius: 9999rpx;
background: linear-gradient(135deg, #c19cff, #9146ff, #00e3fd);
box-shadow: 0 10rpx 10rpx rgba(193, 156, 255, .2)
}
.hero-avatar-wrap.avatar-choose-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: auto;
flex-shrink: 0;
box-sizing: border-box
}
.avatar-choose-btn {
margin: 0;
padding: 2rpx;
line-height: normal;
height: auto;
background: transparent;
border: none;
font-size: inherit
}
.avatar-choose-btn::after {
border: none
}
.hero-avatar-border {
position: relative;
width: 176rpx;
height: 176rpx;
border-radius: 9999rpx;
overflow: hidden;
border: 6rpx solid #0c0e12;
background: #1d2025
}
.hero-avatar {
width: 100%;
height: 100%
}
.avatar-mask {
position: absolute;
left: 0;
right: 0;
bottom: 0;
padding: 14rpx 12rpx;
background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .72));
display: flex;
align-items: flex-end;
justify-content: center
}
.avatar-mask-text {
font-size: 20rpx;
color: #fff;
font-weight: 600;
letter-spacing: .04em
}
.avatar-canvas {
position: absolute;
left: -9999rpx;
top: -9999rpx;
width: 320rpx;
height: 320rpx;
opacity: 0
}
.hero-info {
display: flex;
flex-direction: column;
justify-content: center
}
.nickname-input {
width: 100%;
height: 72rpx;
margin-bottom: 12rpx;
padding: 0 20rpx;
border-radius: 18rpx;
border: 1rpx solid rgba(255, 255, 255, .08);
background: #171a1f;
color: #f6f6fc;
font-size: 26rpx;
box-sizing: border-box
}
.hero-name {
display: block;
font-size: 56rpx;
font-weight: 800;
line-height: 1.1;
margin-bottom: 12rpx
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 12rpx;
padding: 12rpx 18rpx;
border-radius: 9999rpx;
background: #1d2025;
border: 1rpx solid rgba(255, 255, 255, .1);
width: fit-content
}
.pulse-dot {
width: 16rpx;
height: 16rpx;
border-radius: 9999rpx;
background: #00e3fd;
box-shadow: 0 0 16rpx rgba(0, 227, 253, .8)
}
.badge-text {
font-size: 22rpx;
color: #aaabb0
}
.grid-2 {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24rpx;
margin-bottom: 40rpx
}
.glass-card {
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
min-height: 214rpx;
padding: 28rpx;
border: 1rpx solid rgba(255, 255, 255, .08);
border-radius: 24rpx;
background: rgba(29, 32, 37, .6);
backdrop-filter: blur(24rpx);
box-shadow: 0 20rpx 40rpx rgba(0, 0, 0, .08)
}
.card-glow {
position: absolute;
right: -48rpx;
top: -48rpx;
width: 180rpx;
height: 180rpx;
border-radius: 50%;
filter: blur(48rpx);
opacity: .8
}
.accent-tertiary .card-glow {
background: rgba(255, 108, 149, .18)
}
.accent-secondary .card-glow {
background: rgba(0, 227, 253, .18)
}
.card-icon {
position: relative;
z-index: 1;
width: 96rpx;
height: 96rpx;
border-radius: 9999rpx;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20rpx;
background: rgba(255, 255, 255, .06);
border: 1rpx solid rgba(255, 255, 255, .05);
font-size: 40rpx
}
.icon-tertiary {
color: #ff6c95;
box-shadow: 0 0 24rpx rgba(255, 108, 149, .35)
}
.icon-secondary {
color: #00e3fd;
box-shadow: 0 0 24rpx rgba(0, 227, 253, .35)
}
.card-title {
position: relative;
z-index: 1;
display: block;
font-size: 34rpx;
line-height: 1.2;
font-weight: 800;
color: #f6f6fc;
margin-bottom: 8rpx
}
.card-subtitle {
position: relative;
z-index: 1;
display: block;
font-size: 22rpx;
line-height: 1.5;
color: #aaabb0
}
.divider-row {
display: flex;
align-items: center;
gap: 24rpx;
margin: 8rpx 0 24rpx
}
.divider {
height: 2rpx;
flex: 1;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .1), transparent)
}
.section-kicker {
font-size: 20rpx;
font-weight: 700;
letter-spacing: .2em;
text-transform: uppercase;
color: rgba(170, 171, 176, .6)
}
.management-grid {
margin-bottom: 40rpx
}
.small-action {
display: flex;
align-items: center;
gap: 24rpx;
padding: 24rpx;
border: 1rpx solid rgba(255, 255, 255, .05);
border-radius: 24rpx;
background: rgba(17, 19, 24, .8);
backdrop-filter: blur(16rpx)
}
.small-icon {
width: 80rpx;
height: 80rpx;
border-radius: 9999rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
border: 1rpx solid rgba(255, 255, 255, .05);
font-size: 34rpx
}
.small-icon.primary {
background: rgba(193, 156, 255, .1);
color: #c19cff
}
.small-icon.secondary {
background: rgba(0, 227, 253, .1);
color: #00e3fd
}
.small-icon.tertiary {
background: rgba(255, 108, 149, .1);
color: #ff6c95
}
.small-icon.primary-fixed {
background: rgba(182, 138, 255, .1);
color: #b68aff
}
.small-text {
font-size: 26rpx;
font-weight: 600;
color: #f6f6fc
}
.settings-card {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 32rpx;
border-radius: 24rpx;
border: 1rpx solid rgba(255, 255, 255, .08);
background: rgba(35, 38, 44, .4);
backdrop-filter: blur(24rpx);
box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, .1)
}
.settings-icon {
width: 96rpx;
height: 96rpx;
border-radius: 9999rpx;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, .06);
border: 1rpx solid rgba(255, 255, 255, .05);
font-size: 38rpx;
color: #f6f6fc
}
.settings-text {
flex: 1;
padding-left: 20rpx;
font-size: 28rpx;
font-weight: 600;
letter-spacing: .04em;
color: #f6f6fc
}
.chevron {
width: 64rpx;
height: 64rpx;
border-radius: 9999rpx;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255, 255, 255, .04);
color: #aaabb0;
font-size: 44rpx
}
.modal-mask {
position: fixed;
inset: 0;
z-index: 80;
display: flex;
align-items: center;
justify-content: center;
padding: 40rpx;
background: rgba(0, 0, 0, .55);
backdrop-filter: blur(16rpx)
}
.modal-card {
width: 100%;
max-width: 620rpx;
padding: 32rpx;
border-radius: 32rpx;
background: #171a1f;
border: 1rpx solid rgba(255, 255, 255, .08);
box-shadow: 0 24rpx 80rpx rgba(0, 0, 0, .45)
}
.modal-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 24rpx
}
.modal-title {
font-size: 32rpx;
font-weight: 800;
color: #f6f6fc
}
.modal-close {
width: 56rpx;
height: 56rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40rpx;
color: #aaabb0;
background: rgba(255, 255, 255, .04)
}
.modal-input {
width: 100%;
height: 84rpx;
box-sizing: border-box;
padding: 0 24rpx;
border-radius: 20rpx;
border: 1rpx solid rgba(255, 255, 255, .08);
background: #0f1216;
color: #f6f6fc;
font-size: 28rpx;
margin-bottom: 28rpx
}
.modal-actions {
display: flex;
gap: 20rpx
}
.modal-btn {
flex: 1;
border: none;
border-radius: 20rpx;
height: 80rpx;
line-height: 80rpx;
font-size: 26rpx
}
.modal-btn.ghost {
background: #23262c;
color: #f6f6fc
}
.modal-btn.primary {
background: linear-gradient(135deg, #c19cff, #9146ff);
color: #fff
}
.bottom-nav {
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 50;
display: flex;
justify-content: space-around;
align-items: center;
padding: 20rpx 24rpx 40rpx;
background: rgba(12, 14, 18, .7);
backdrop-filter: blur(32rpx);
border-top: 1rpx solid rgba(255, 255, 255, .08);
border-radius: 32rpx 32rpx 0 0;
box-shadow: 0 -10rpx 40rpx rgba(0, 0, 0, .4)
}
.nav-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 6rpx;
color: #aaabb0
}
.nav-item.active {
color: #00e3fd;
transform: translateY(-6rpx)
}
.nav-icon {
width: 56rpx;
height: 56rpx;
border-radius: 9999rpx;
background: rgba(255, 255, 255, .05);
display: flex;
align-items: center;
justify-content: center;
font-size: 34rpx
}
.nav-label {
font-size: 20rpx
}