page { background: #0c0e12; color: #f6f6fc } .page { min-height: 100vh; background: #0c0e12; box-sizing: border-box } .topbar { display: flex; justify-content: space-between; align-items: center; padding: 24rpx 32rpx; background: rgba(12, 14, 18, .8); backdrop-filter: blur(24px); border-bottom: 1rpx solid rgba(255, 255, 255, .08); box-shadow: 0 1rpx 20rpx rgba(0, 0, 0, .08) } .brand { display: flex; align-items: center; gap: 18rpx } .avatar-wrap { width: 64rpx; height: 64rpx; border-radius: 9999rpx; overflow: hidden; border: 1rpx solid rgba(255, 255, 255, .1); flex-shrink: 0 } .avatar { width: 100%; height: 100% } .brand-text { font-size: 38rpx; font-weight: 800; color: #c19cff } .icon-btn { width: 72rpx; height: 72rpx; border-radius: 9999rpx; background: rgba(255, 255, 255, .06); display: flex; align-items: center; justify-content: center } .content { height: calc(100vh - 120rpx); padding: 48rpx 40rpx 32rpx; box-sizing: border-box } .heading { margin-bottom: 28rpx } .title { display: block; font-size: 52rpx; font-weight: 800; line-height: 1.1 } .subtitle { display: block; margin-top: 10rpx; color: #aaabb0; font-size: 26rpx } .hero-card { position: relative; overflow: hidden; padding: 32rpx; border-radius: 32rpx; background: rgba(29, 32, 37, .6); backdrop-filter: blur(24rpx); border: 1rpx solid rgba(255, 255, 255, .08); box-shadow: 0 20rpx 40rpx rgba(0, 0, 0, .08); margin-bottom: 24rpx } .hero-glow { position: absolute; right: -40rpx; top: -40rpx; width: 160rpx; height: 160rpx; border-radius: 9999rpx; background: rgba(255, 64, 129, .12); filter: blur(30rpx) } .hero-row { display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1 } .hero-num { display: block; font-size: 72rpx; font-weight: 800; color: #fff } .hero-label { display: block; margin-top: 8rpx; font-size: 24rpx; color: #aaabb0 } .hero-badge { width: 112rpx; height: 112rpx; border-radius: 9999rpx; background: linear-gradient(135deg, #ff4081, #00e5ff); display: flex; align-items: center; justify-content: center; box-shadow: 0 0 20rpx rgba(255, 64, 129, .2); overflow: hidden } .hero-badge-img { width: 64rpx; height: 64rpx } .state-card { margin-bottom: 28rpx } .state-head { display: flex; justify-content: space-between; align-items: center; margin: 0 6rpx 18rpx } .state-title { font-size: 36rpx; font-weight: 800 } .state-subtitle { font-size: 22rpx; color: #aaabb0 } .section-card { margin-bottom: 20rpx; padding: 28rpx; border-radius: 30rpx; background: rgba(29, 32, 37, .45); border: 1rpx solid rgba(255, 255, 255, .07); backdrop-filter: blur(24rpx) } .section-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14rpx } .section-title-wrap { display: flex; align-items: center; gap: 16rpx } .section-icon { width: 52rpx; height: 52rpx; border-radius: 9999rpx; background: rgba(255, 255, 255, .06); padding: 8rpx; box-sizing: border-box } .section-title { display: block; font-size: 32rpx; font-weight: 800; line-height: 1.2 } .section-subtitle { display: block; margin-top: 4rpx; font-size: 22rpx; color: #aaabb0 } .section-count { font-size: 22rpx; color: #c19cff; background: rgba(193, 156, 255, .12); padding: 8rpx 14rpx; border-radius: 9999rpx } .section-progress { display: block; margin: 0 0 18rpx 68rpx; font-size: 22rpx; color: #8fe3ff } .grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18rpx } .item { position: relative; overflow: hidden; padding: 28rpx; border-radius: 28rpx; background: rgba(29, 32, 37, .56); backdrop-filter: blur(24rpx); border: 1rpx solid rgba(255, 255, 255, .06); box-shadow: 0 20rpx 40rpx rgba(0, 0, 0, .06); min-height: 220rpx } .accent-tertiary { box-shadow: 0 20rpx 40rpx rgba(255, 64, 129, .06) } .accent-secondary { box-shadow: 0 20rpx 40rpx rgba(0, 229, 255, .06) } .accent-primary { box-shadow: 0 20rpx 40rpx rgba(127, 0, 255, .06) } .item-icon { width: 130rpx; height: 130rpx; border-radius: 9999rpx; background: rgba(255, 255, 255, .06); display: flex; align-items: center; justify-content: center; margin: 0 auto 24rpx; overflow: hidden } .item-icon-img { width: 110rpx; height: 110rpx; flex-shrink: 0 } .item-title { display: block; font-size: 30rpx; font-weight: 700; margin-bottom: 8rpx; text-align: center } .item-sub { display: block; font-size: 22rpx; color: #aaabb0; text-align: center }