/* pages/test/mbti.wxss - 按旧版模板重构 */ .test-page { width: 100%; min-height: 100vh; display: flex; flex-direction: column; background-color: #fff; } .test-loading { flex: 1; display: flex; align-items: center; justify-content: center; padding: 80rpx; } .test-loading-text { font-size: 30rpx; color: #666; } /* 错误态:加载失败 + 重试按钮 */ .test-error-state { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80rpx 60rpx; text-align: center; } .test-error-ic { font-size: 84rpx; line-height: 1; margin-bottom: 20rpx; } .test-error-title { font-size: 36rpx; font-weight: 700; color: #111827; margin-bottom: 12rpx; } .test-error-msg { font-size: 26rpx; color: #6b7280; line-height: 1.6; margin-bottom: 40rpx; max-width: 520rpx; } .test-error-btn { padding: 20rpx 56rpx; background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); color: #fff; font-size: 30rpx; font-weight: 600; border-radius: 48rpx; box-shadow: 0 10rpx 24rpx rgba(99, 102, 241, 0.3); margin-bottom: 28rpx; } .test-error-btn:active { transform: scale(0.97); opacity: 0.9; } .test-error-hint { font-size: 22rpx; color: #9ca3af; } /* 本地 fallback 题库提示条 */ .fallback-banner { margin: 16rpx 24rpx 0; padding: 14rpx 20rpx; background: #fef3c7; border: 1rpx solid #fcd34d; border-radius: 12rpx; display: flex; align-items: center; gap: 10rpx; } .fallback-banner-ic { font-size: 24rpx; } .fallback-banner-text { font-size: 22rpx; color: #92400e; line-height: 1.4; flex: 1; } .progress-section { padding: 32rpx; border-bottom: 1rpx solid #e5e5e5; flex-shrink: 0; } .progress-info { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16rpx; } .question-count { font-size: 28rpx; font-weight: 500; color: #333; } .time-remaining { font-size: 28rpx; color: #999; } .progress-bar-container { width: 100%; height: 8rpx; background-color: #e5e5e5; border-radius: 8rpx; overflow: hidden; } .progress-bar { height: 100%; background: linear-gradient(135deg, #FF6B8A 0%, #ff8fa3 100%); border-radius: 8rpx; transition: width 0.3s ease; } .content-area { flex: 1; overflow-y: auto; padding: 32rpx; } .question-card { background-color: #fff; border-radius: 24rpx; padding: 48rpx; box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08); } .question-text { display: block; font-size: 40rpx; font-weight: 500; color: #333; line-height: 1.6; margin-bottom: 48rpx; } .options-container { display: flex; flex-direction: column; gap: 32rpx; } .option-item { display: flex; align-items: center; padding: 32rpx; border: 2rpx solid #e5e5e5; border-radius: 16rpx; transition: all 0.3s ease; } .option-item.selected { background-color: rgba(255, 107, 138, 0.12); border-color: #FF6B8A; } .radio-button { width: 40rpx; height: 40rpx; border-radius: 50%; border: 2rpx solid #d1d5db; display: flex; align-items: center; justify-content: center; margin-right: 24rpx; flex-shrink: 0; transition: all 0.3s ease; } .radio-button.checked { background-color: #FF6B8A; border-color: #FF6B8A; } .radio-inner { width: 16rpx; height: 16rpx; border-radius: 50%; background-color: #fff; } .option-text { flex: 1; font-size: 32rpx; color: #333; line-height: 1.5; } .footer-buttons { display: flex; gap: 24rpx; padding: 32rpx; border-top: 1rpx solid #e5e5e5; flex-shrink: 0; } .nav-button { flex: 1; padding: 28rpx; border-radius: 16rpx; text-align: center; } .nav-button.secondary { background-color: #fff; border: 2rpx solid #FF6B8A; } .nav-button.secondary .button-text { color: #FF6B8A; } .nav-button.primary { background: linear-gradient(135deg, #FF6B8A 0%, #ff8fa3 100%); border: none; box-shadow: 0 8rpx 24rpx rgba(255, 107, 138, 0.35); } .button-text-on-primary { color: #ffffff !important; font-weight: 600; } .nav-button.disabled { opacity: 0.4; pointer-events: none; } .last-hint { margin-top: 24rpx; padding: 20rpx 24rpx; background: rgba(255, 107, 138, 0.08); border-radius: 16rpx; border: 1rpx solid rgba(255, 107, 138, 0.2); } .last-hint-text { font-size: 26rpx; color: #be185d; line-height: 1.5; } .button-text { font-size: 32rpx; font-weight: 500; }