page { background: #0c0e12; color: #f6f6fc; } .page { min-height: 100vh; background: #0c0e12; position: relative; overflow: hidden; box-sizing: border-box; } .bg-orb { position: absolute; border-radius: 9999rpx; filter: blur(110rpx); pointer-events: none; z-index: 0; } .orb1 { width: 46vw; height: 46vw; top: -14vw; right: -14vw; background: rgba(193, 156, 255, 0.12); } .orb2 { width: 54vw; height: 54vw; left: -18vw; bottom: -16vw; background: rgba(0, 227, 253, 0.08); } .content { position: relative; z-index: 1; height: 100vh; padding: 26rpx 32rpx 40rpx; box-sizing: border-box; } .hero-card { position: relative; overflow: hidden; border-radius: 34rpx; padding: 34rpx; border: 1rpx solid rgba(255, 255, 255, 0.08); background: rgba(29, 32, 37, 0.72); box-shadow: 0 18rpx 60rpx rgba(0, 0, 0, 0.18); margin-bottom: 28rpx; } .hero-card::after { content: ''; position: absolute; inset: auto -40rpx -40rpx auto; width: 180rpx; height: 180rpx; border-radius: 9999rpx; filter: blur(24rpx); opacity: 0.4; } .hero-card.cyan::after { background: rgba(0, 227, 253, 0.45); } .hero-card.pink::after { background: rgba(255, 108, 149, 0.45); } .hero-top { position: relative; z-index: 1; display: flex; justify-content: flex-end; margin-bottom: 24rpx; } .hero-title-group { display: flex; align-items: flex-start; gap: 16rpx; } .type-chip { display: inline-flex; align-items: center; justify-content: center; height: 60rpx; padding: 0 22rpx; border-radius: 9999rpx; font-size: 22rpx; font-weight: 700; color: #00e3fd; border: 1rpx solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.04); } .hero-actions-vertical { display: flex; flex-direction: column; gap: 12rpx; } .mini-action { width: 52rpx; height: 52rpx; border-radius: 16rpx; display: flex; align-items: center; justify-content: center; font-size: 26rpx; background: rgba(255, 255, 255, 0.06); border: 1rpx solid rgba(255, 255, 255, 0.08); color: #f6f6fc; } .mini-action.danger { color: #ff7b9b; } .main-text { position: relative; z-index: 1; display: block; font-size: 46rpx; line-height: 1.25; font-weight: 800; letter-spacing: -0.5rpx; } .translate { position: relative; z-index: 1; display: block; margin-top: 16rpx; color: #f6f6fc; font-size: 28rpx; line-height: 1.7; } .detail-badges { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12rpx; margin-top: 20rpx; } .badge-pill { padding: 12rpx 18rpx; border-radius: 9999rpx; font-size: 22rpx; color: #aaabb0; border: 1rpx solid rgba(255, 255, 255, 0.06); background: rgba(255, 255, 255, 0.03); } .header { margin-bottom: 24rpx; } .title { display: block; font-size: 52rpx; line-height: 1.1; font-weight: 800; } .subtitle { display: block; margin-top: 10rpx; color: #aaabb0; font-size: 24rpx; } .info-card { padding: 28rpx; border-radius: 30rpx; background: rgba(255, 255, 255, 0.04); border: 1rpx solid rgba(255, 255, 255, 0.08); margin-bottom: 26rpx; } .info-row { display: flex; gap: 18rpx; padding: 18rpx 0; border-bottom: 1rpx solid rgba(255, 255, 255, 0.06); } .info-row:last-child { border-bottom: 0; padding-bottom: 0; } .info-label { width: 120rpx; flex-shrink: 0; font-size: 24rpx; color: #aaabb0; font-weight: 700; } .info-value { flex: 1; font-size: 26rpx; color: #f6f6fc; line-height: 1.6; } .empty-state { padding: 60rpx 20rpx; text-align: center; color: #aaabb0; } .empty-title { display: block; font-size: 28rpx; font-weight: 700; color: #f6f6fc; } .error-banner { padding: 24rpx 28rpx; border-radius: 20rpx; background: rgba(167, 1, 56, 0.2); border: 1rpx solid rgba(255, 110, 132, 0.35); } .error-text { color: #ffb2b9; font-size: 24rpx; }