.error-boundary { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40rpx; background-color: #f5f5f5; &__container { background: white; border-radius: 16rpx; padding: 60rpx 40rpx; text-align: center; box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1); max-width: 600rpx; width: 100%; } &__icon { font-size: 120rpx; margin-bottom: 30rpx; } &__title { font-size: 36rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; display: block; } &__message { font-size: 28rpx; color: #666; line-height: 1.6; margin-bottom: 40rpx; display: block; } &__details { background: #f8f8f8; border-radius: 8rpx; padding: 20rpx; margin-bottom: 40rpx; text-align: left; } &__error-title { font-size: 24rpx; font-weight: bold; color: #e74c3c; margin-bottom: 10rpx; display: block; } &__error-message { font-size: 22rpx; color: #e74c3c; margin-bottom: 10rpx; display: block; word-break: break-all; } &__error-stack { font-size: 20rpx; color: #999; font-family: monospace; white-space: pre-wrap; display: block; max-height: 200rpx; overflow-y: auto; } &__actions { display: flex; gap: 20rpx; justify-content: center; } &__button { flex: 1; max-width: 200rpx; height: 80rpx; border-radius: 40rpx; font-size: 28rpx; border: none; &--primary { background: #007aff; color: white; &:active { background: #0056cc; } } &--secondary { background: #f0f0f0; color: #333; &:active { background: #e0e0e0; } } } }